CSC 170 - Structured Programming
2007 Spring Semester

This class is an introduction to programming and algorithm development, using the Java programming language. We will cover primitive types, strings, arrays, methods, and structured programming. We will then move on to cover the basics of object-oriented programming including classes and objects.

Essential Information:

Instructor:  Erik Steinmetz
E-mail:  steinmee@augsburg.edu
Phone:  (612) 330-1062
Office:  Sverdrup 203A
Class:  Monday, Wednesday, and Friday from 9:10 a.m. to 10:10 a.m. in Sverdrup 204
Lab:  Thursday from 1:30 p.m. to 3:00 p.m. in Sverdrup 204
Dates:  17 January through 27 April, 2007
Text:  Java Program Design 5.0; Cohoon & Davidson
Optional Reference Text:  Java in a Nutshell (5th Ed.); Flanagan
Office Hours:  Monday, Wednesday and Friday from 1:00 p.m. to 2:30 p.m.

Grading

There will be a mid-term and a final exam during the course, each counting for 30 percent of the grade. Graded homeworks will make up the remainder of the grade. All homeworks must be completed individually, though you may share and seek coding advice from others.

Schedule

Date Topics Chapter
Week of 17 January   Intro, Java Basics, Compiling and Running programs   Nutshell 1, 2; Cohoon 1
Week of 22 January Basic Data Types, Operators Nutshell 2, Cohoon 2
Week of 29 January Decision and Iteration Nutshell 2, Cohoon 5, 6
Week of 5 February Iteration and Functions Nutshell 2, Cohoon 7.1, 7.2, 7.5
Week of 12 February   Arrays Nutshell 2, Cohoon 8.1 through 8.4
Week of 19 February Multi Dimensional Arrays Nutshell 2, Cohoon 8.8
Week of 26 February Review and Mid-Term  
Week of 5 March Objects and Classes Nutshell 3, Cohoon 3, 4
Week of 12 March
(No class on 16 March)  
Building Classes Nutshell 3, Cohoon 4
Week of 26 March Instance attributes and methods, Class attributes and methods Nutshell 3, Cohoon 4
Week of 2 April Inheritance: How to make subclasses Nutshell 3, Cohoon 9
Week of 9 April Inheritance. Use of files Cohoon 9, Cohoon 6.5
Week of 16 April Recursion Cohoon 11
Week of 23 April Some GUI stuff. Events. Review  

Assignments

  
Assignment Date Due Sample Solutions
Assignment Zero 19 January, 2007  
Assignment One 31 January, 2007  
Assignment Two 7 February, 2007  
Assignment Three 14 February, 2007  
Assignment Four 26 February, 2007  
Assignment Five 15 March, 2007  
Assignment Six 4 April, 2007 BankAccount.java
Bank.java
BankDriver.java
Assignment Seven 13 April, 2007  
Assignment Eight 18 April, 2007  
Assignment Nine 25 April, 2007
Assignment Ten 27 April, 2007

Exam Schedule

The mid-term will be held during the lab on 1 March, 2007

The final will be held on Monday, 30 April, 2007 from 8:00 a.m. to 10:00 a.m.

Class Links

For Linux, Solaris, and Windows, you may download the free Java Development Kit (JDK) from Sun's web site. For Mac OS X, you can compile and run Java from the command line, or use XCode (or ProjectBuilder) which comes on the Developer Disk. The Mac boxes in Sverdrup 204 and the Linux boxes in the linux lab all have Java installed.

Some hints and .bat files for compiling and running Java under the Windows operating system.