CSC 012N

Introduction to Computer Science

 

Course Outline

  1. (1/30)    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. (2/4)    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. (2/6)    Constructing programs using the CSLib package.   How to use UltraEdit; the javac and java commands.  The Java keywords.   Identifiers; naming conventions.  Building simple classes.  Text output.   (2.1 - 2.3)

  1. (2/11)    Drawing in Java.  The Drawing Box class.   Introducing the Color class.  (2.4)

  1. (2/13)    Introduction to numeric data types, int and double.  Primitive types versus classes.  Arithmetic operators; precedence rules.    Declarations, variables, and assignment statements.  Symbolic constants.  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.  Mixed mode expressions; the cast.   Commenting code.  (3.1 - 3.3, 3.6)

  1. (2/18)    Introduction to the String class.   Predefined String methods.  Characters; the char type.   Debugging programs.  (3.4 - 3.5)

  1. (2/20)    Introduction to decision making.  The if-else statement.  Relational operators and logical (Boolean) operators.  Comparing objects.  Precedence rules.  (4.1 - 4.3)

  2. (2/25)    The switch statement.   Debugging decision making.  (4.4 - 4.5)

  3. (2/27)    Introduction to loops.  The while and for loops.  Counter controlled loops.  (6.1 - 6.2)

  1. (3/4)    Controlling loops with sentinel values (user-defined and end-of-file).  Sums and counters; importance of initializing variables.  More loops.  Reading input in a loop.  Drawing in loops.   (6.5, 6.7)

  2. (3/6)    Introduction to classes and methods.   Overloading constructors and methods.  The this variable.   (7.1, 7.3, 7.6)

  3. (3/11)    More on classes.

  4. (3/13)    MIDTERM QUIZ covers the history of computing and Chapters 2 - 7.  The 3 BIG IDEAS of structured programming:   Sequence, Selection, and Repetition.

  5. (3/18)    Introduction to arrays or lists; subscripts or indexes.  (8.1, 8.2)

  6. (3/20)    Simple computations on Numerical Data.   Arrays of Objects.  (8.3, 8.4)

  1. (3/25)    Simple sorting and searching algorithms.   Nested loops.  (8.6, 9.1)

  2. (3/27)    Two-dimensional arrays.  Initializing arrays.  Arrays as function return types.  (9.2)

  3. (4/1)    Introduction to input file processing; FileReader and BufferedReader objects. (15.1, 15.2)

  4. (4/3)    Introduction to output file processing.

  5. (4/8)    Class methods and variables.  (Chapter 10)

  1. (4/10)    Mouse in a maze.  (1.1, 6.7, 10.4)

  2. (4/15)    Responding to mouse events, the Java AWT.   (Chapter 11)

    (4/17, 22, 24)      SPRING RECESS - NO CLASS



                    If there is time remaining, we will explore the world of Java and the Web (Chapter 13)

  1. (4/29)    The Java AWT and the Java AWT event model.   (13.1, 13.2)

  2. (5/1)    The WindowListener interface.  (13.3)

  3. (5/6)    More AWT components.  (13.4, 13.5)

  4. (5/8)    The canvas class and screen layout.  (13.7, 13.8)

  1. (5/13)    FINAL QUIZ

Back to CSC 012N Home Page