CS 0401

Course Syllabus

Check this syllabus frequently for updates throughout the term.

In addition to references shown, course notes will always be an important reference.

 

Lecture #

Date

Concept

References

1

Aug. 26

Introductory Material; Course Policies

Prerequisites to CS 0401

Course Goals

Assessment Quiz [1PM Section]

Getting Started with Java [2:30PM Section]

Handout

 

Lecture Notes, Gaddis[1] Chapter 1

Handout

2

Aug. 28

Getting Started with Java [1PM Section]

Intro to Java Language and using it

Keywords, Identifiers, Data and Expressions

Assessment Quiz [2:30PM Section]

ex1.java

Gaddis Chapter 2

3

Sep. 2

Data and expressions; primitive types vs. reference types; operators, precedence and associativity

ex2.java

4

Sep. 4

Using the Scanner class for input

 

Intro. to Control Statements

Gaddis Section 2.13

ex3.java

5

Sep. 9

Boolean expressions; if statement and variations

Gaddis Chapter 3

6

Sep. 11

Iteration: while loop and for loop and variations

Gaddis Chapter 4

ex4a.java ex4b.java

ex4c.java ex4d.java

7

Sep. 16

Finish for loop; switch statement and its uses

 

Intro. to Java methods and method calls

ex5.java

 

Gaddis Chapter 5

8

Sep. 18

Methods and functional abstraction; static methods vs. instance methods; void methods vs. those that return a value; parameters and parameter lists (formal parameters vs. actual parameters); pass by value

ex6.java

9

Sep. 23

Reference variables and their implications

Intro. to classes and objects and using them in a program

 

Gaddis Chapter 6

ex7.java

10

Sep. 25

Intro. to OOP; Data abstraction and encapsulation; instance variables and instance methods

 

ex8.java

11

Sep. 30

Writing new classes and class design issues – simple example (IntCircle); slightly more complex example (CD, Song)

ex9.java IntCircle.java

12

Oct. 2

Intro to Java Arrays + Simple text files in Java

Gaddis Chapter 8

Gaddis Section 4.10

ex10.java

13

Oct. 7

More on Java arrays – arrays as parameters, sequential search and arrays of objects

ex10a.java

ex10b.java

14

Oct. 9

Resizing arrays

Two-dimensional arrays

Sorting arrays – simple sorts

ex11.java

 

ex12.java SortInt.java

MIDTERM EXAM MATERIAL ABOVE THIS LINE

--

Oct. 14

Monday Schedule – No Lecture

 

15

Oct. 16

MIDTERM EXAM

 

16

Oct. 21

Binary Search – idea and implementation

ArrayLists

Gaddis Chapter 8

 

17

Oct. 23

Miscellaneous OO Topics

 

Intro to Java Graphical Applications

Gaddis Chapter 9

 

Gaddis Chapter 7

ex13a.java

18

Oct. 28

Hints on Assignment 3

Review of Exam 1

 

More on Java Graphical Applications

 

 

 

ex13b.java

19

Oct. 30

Buttons, event-driven programming and ActionEvents

 

ex13c.java

ex13d.java

 

20

Nov. 4

Subdividing a frame using panels; Extending JPanel (to declared and manipulate variables within the JPanel itself)

 

Brief intro to Java interfaces (idea and syntax, simple example)

 

Counters.java

Counters2.java

 

ex14.java

21

Nov. 6

Java Wrapper classes and autoboxing; parsing integer input; some String manipulation methods

Gaddis Chapter 10

ex15.java

ex16.java

22

Nov. 11

Introduction to Inheritance – idea and syntax; protected data; access via superclass references (and restrictions); inheritance vs. composition

ex17.java SuperClass.java SubClass.java

 

ex18.java RationalNumber.java
MixedNumber.java MixedNumber2.java

23

Nov. 13

Finish inheritance; class hierarchy; Intro to Polymorphism; ad-hoc polymorphism

ex19.java

QUIZ 2 MATERIAL FROM LECTURE 16 THROUGH LECTURE 23 ABOVE

24

Nov. 18

Subclassing polymorphism; abstract classes

ex20.java

ex21.java

--

Nov. 19

CS Careers Panel (extra credit): 4PM-5:30PM 5317 SENSQ

 

25

Nov. 20

Revisiting interfaces; Generic operations and types

Help with Assignment 5: A5Help.java MyPanel.java

ex22.java SortAll.java

ex22T.java SortAllT.java

 



[1] Starting Out with Java, From Control Structures Through Objects, Third Edition, by Tony Gaddis (Addison Wesley)