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. 29

Introductory Material; Course Policies

Prerequisites to CS 0401

Course Goals

 

Handout

 

Lecture Notes, LL[1] Chapter 1

2

Aug. 31

Getting Started with Computers and Java

Intro to Java Language and using it

Keywords, Identifiers

ex1.java

LL Chapter 1

3

Sept. 5

Java Types, Variables and Expressions

LL Chapter 2

ex2.java

4

Sept. 7

Java Scanner for Input

 

 

LL Chapter 2

ex3.java

 

5

Sept. 12

Java boolean expressions; Java control structures: if statement

More Java control structures: while loop

LL Chapter 5

ex4a.java ex4b.java

6

Sept. 14

Finish while loop

 

 

 

7

Sept. 19

For loop, switch statement

LL Chapter 5

ex4c.java ex4d.java

ex5.java

8

Sept. 21

Idea of classes and objects; reference variables and their implications

LL Chapter 3

ex6.java

9

Sept. 26

Static methods and parameters

ex7.java

10

Sept. 28

More on parameters; local variables

 

Intro to object-oriented programming

 

 

LL Chapter 4

11

Oct. 3

More on object-oriented programming – instance variables and instance methods; constructors, accessors and mutators

 

ex8.java

12

Oct. 5

Writing classes – some simple examples

ex9.java IntCircle.java

13

Oct. 10

Java arrays; direct and sequential access; arrays as reference variables

LL Chapter 7

ex10a.java

 

 

MIDTERM EXAM MATERIAL ABOVE HERE

 

14

Oct. 12

More arrays – arrays as parameters, sequential search, arrays of objects

LL Sections 7.2,7.3
ex10b.java

 

Oct 17

MIDTERM EXAM

 

15

Oct 19

Resizing arrays, Two-D arrays

 

Misc Object-oriented ideas

LL Section 7.6
ex11.java

 

LL Sections 6.1-6.4

16

Oct. 24

Wrappers and autoboxing; Intro. to Java files; converting from text data to numeric data

LL Sections 3.8, 5.6
ex12.java MyInteger.java

17

Oct. 26

Finish Java files; compare text vs. binary storage

 

Intro. to Graphical Environments

ex13.java ex14.java
ex15.java

18

Oct. 31

Java Graphics and graphical applications; events and event-driven programming

LL Sections 2.7-2.9, 3.9, 4.6-4.8, 5.10
ex16a.java ex16b.java ex16c.java

19

Nov. 2

More on Java graphics and event-driven programming; Textfields, layout managers and JPanels

LL Sections 3.10, 4.9, 6.10-6.11
ex16d.java Counters.java

20

Nov. 7

Intro to Java interfaces

 

 

Intro. to Java inheritance – extending a class; access modifiers

LL Section 6.5

ex17.java Laughable.java Booable.java

 

LL Chapter 8

ex18.java SuperClass.java SubClass.java

21

Nov. 9

More on inheritance – comparing to composition for building new classes

 

 

 

ex19.java RationalNumber.java

MixedNumber.java

MixedNumber2.java

 

 

22

Nov. 14

Ad hoc polymorphism via method overloading

LL Section 6.8

23

Nov. 16

Subclassing polymorphism – overriding methods and dynamic binding; accessing subclass objects via superclass references`

 

24

Nov. 21

Finish polymorphism; abstract classes; more on interfaces; intro to Sorting

 

25

Nov. 28

More on sorting (selectionsort, insertionsort) and generics

 

26

Nov. 30

Searching and binary search; Intro to recursion

 

27

Dec. 5

Finish recursion; Intro to exceptions

 

28

Dec. 7

Finish exceptions and recursion; review

 

 



[1] Java Software Solutions, Fifth Edition, by Lewis and Loftus (Addison Wesley)