CSC 012N

Introduction to Computer Science


Course Outline

Note: Due to the change of instructors for CSC 012N, the web site for the course has moved to

This page is:
Herbert J. Bernstein
based on the outline by Bill Steinmetz

  1. (9/6)    The history of computing from the abacus to Pascal to logarithms to slide rules to Babbage.  Discussion of Charles Babbage and Ada, Lady Lovelace.  The development of the digital computer in the 20th century, including the role of IBM, the MARK I and ENIAC computers, the introduction of the microcomputer; the changing relative roles of hardware and software in the economics of computers; the growth of Microsoft and the decline of mainframes.

  1. (9/11)    Conclusion of history of computing.   Introduction to Java programming; the edit-compile-run cycle.  Compilers versus interpreters.  Java Bytecode and Java Interpreter.  Simple Input/Output (I/O).

  2. (9/13)    CHAPTER 2 - Reserved words and identifiers.  Introduction to numeric data types, int and double; intro to String objects.  Primitive types versus classes.  Binary encoding of common keyboard symbols; the ASCII code in particular.  The binary number system.  The different ways the computer stores different data types (e.g., int 3 versus double 3.0).   Conversion between int's and double's; the cast.  Commenting code.


  1. (9/20)    CHAPTER 3 - Summary of commonly used MS-DOS commands.  Introduction to methods, arguments and return values.  Variables and assignment assignments.  Arithmetic operations and precedence rules.   Introduction to HTML (2.5.1, 3.1)

  1. (9/25)    Introduction to String class; the concatenation operator (+).  String methods.  Making your own class.   Inheritance.  Syntax, run-time, and logic errors.  Constants and the final keyword.    Summary of program layout.  (2.3, 2.4, 2.7)


  1. (10/2)    Turning String's into int's using Integer.parseInt () method.    Introduction to Java applets; init (), NOT main ().  The import and extends keywords.  What are packages?  (Ans:  directories)  The java.awt package (Abstract Windowing Toolkit) contains GUI (Graphical User Interface) like TextField, Button, and Label.  Using the appletviewer.  Making your applet interactive with the java.awt.event package.  Your class implements ActionListener interface.

  1. (10/4)    The temperature applet.  (3.2, 3.3, 3.4, 3.5, 3.6)

  2. (10/9)    Drawing in applets using the Graphics class.   Must add the public void paint (Graphics g) method.  The paint method is called by the browser whenever the applet must be drawn.  Components, their size and color.  (3.7, 3.8)

  3. (10/11)    More on using colors; off the shelf using the Color class and making your own with the Color(r, g, b) constructor.  Using the Math.random() method to make things interesting.  The random red ball example.

  1. (10/16)    Introduction to decision making.  The if-else statement.  Relational operators and logical (Boolean) operators.  The switch statement; the case keyword.

  2. (10/18)    The boolean type with associated literals true and false.  Interactive applets; introducing the CheckBox and CheckBoxGroup components.   (4.3, 4.5)

  3. (10/23)    Introduction to classes and methods using the Employee class as an example.  (5.1, 5.2, 5.3, 5.4, 5.5, 5.6)

  4. (10/25)    MIDTERM QUIZ covers the history of computing and Chapters 1 - 5 (through 5.6).  The 3 BIG IDEAS of structured programming:   Sequence, Selection, and Repetition.  Introduction to while loops using the Taxes program.

  5. (10/30)    More on classes; the BankAccount class.

  6. (11/1)    Controlling loops with sentinel values (user-defined and end-of-file).  Sums and counters; importance of initializing variables.  (6.1, 6.2, 6.3, 6.4)

  7. (11/6)    Course review and planning session, review of control structures, array concepts

  8. (11/8)    More on loops.  Difference between "headers" and "trailers".  Looping applets and the Surprise balloon examples.  Slowing things down with the Thread.sleep() method.  (6.7)

  9. (11/13)    Introduction to arrays or lists; subscripts or indexes.  The Format class.  (7.1, 7.2)

  10. (11/15)       More on classes and arrays.

  11. (11/20)   LAB. Group programming projects on loops, arrays, and classes

11/22       THANKSGIVING

  1. (11/27)    Sorting algorithms; nested loops.  (7.4)

  2. (11/29)    Instantiating objects.  More on nested loops.  (9.1)

  1. (12/4)    Two-dimensional arrays; the gradebook example.   Recognizing two-dimensional arrays as one-dimensional arrays of one-dimensional arrays with dimensions x.length and x[row].length.  (9.2)

  2. (12/6)    Introduction to input file processing; FileReader and BufferedReader objects. (10.3, 10.4)

  3. (12/11)    Introduction to output file processing;

  4. (12/13)    File I/O.  (10.3, 10.4)   

  1. (12/18)    FINAL QUIZ

This page is based on the CSC012N course outline web page by Bill Steinmetz, Fall 2001. Revised by Herbert J. Bernstein, 4 November 2001.


To yaya's CSC012 web Page

To Bill Steinmetz Home Page