Introduction to Computer Science - Java

Introduction to Computer Science - Java is a first year computer science course designed to teach the basic concepts of computer science and Object Oriented Programming. A basic explanation of how a computer is built and runs is given. Details of the syntax of the Java programming language including all structures and operators are taught. Strings and several standard packages are also covered including Swing. The course also covers the fundamentals of structured programming, functional programming, and object oriented programming design. Reading and writing to files are taught. Abstract classes and interfaces are also taught and their benefits explored. Different class relationships are covered, including inheritance and composition. Class diagramming and software design are introduced. Method writing, sorting algorithms and recursion are strongly emphasized. There is an extensive accompanying lab which includes many serious projects and utilizes all subjects covered with practical examples.

  1. Introduction to Computers and the Internet
  2. Introduction to Java Applications
  3. Introduction to Java Applets
  4. Control Structures in Java
  5. Methods
  6. Recursion
  7. Arrays
  8. Strings
  9. Object Oriented Programming

On-line textbook I am writing

A simple scanner example
Intro to arrays etc.
Class Fifo ( Java )
Sorted Linked List in Java
j2se 1.5.0 Class listing
String Class and Number Class in detail
How arrays work in Java
Making Jagged arrays in Java
Some language specifications
Principles of Good Programming, Good Programming Practices, General Tips
Use this function to get current time in milliseconds: System.currentTimeMillis()

Homework assignments

A well written C++ Tutorial

Quotes about software writing

        "If it was hard to write, it should be hard to read." - well known, and not a good idea
        "Seldom is your first idea a solution that works." -N.D.
        "Seldom is the solution that works the best solution." -N.D.
        "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code
          as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan
        "The compiler is king." -ND
        "Computers do what you tell them to do, not what you want them to do." -anonymous

© Nachum Danzig