Fall 2008          

An Undergraduate Course for CS Majors

 
        
 


Objectives
Introduce basic concepts and techniques for developing sequential and concurrent computer programs.

Pre-requisite
Basic experience with the Java programming language (e.g., one semester at the high school level); honors standing preferred.

Instructors:
Tim Korb
Aditya Mathur

Barry Wittman

Teaching Assistant:
Daniel Tang

Course description

Introduction to computers and software, primitive types, strings, input, output, flow of control, classes, objects, methods, arrays, inheritance, exception handling, threads, recursion, abstract data types, collections framework, streams and file I/O, reuseable software, event-driven programming, and multi-threaded programming. When appropriate, topics will be introduced with a focus on use in parallel and concurrent computing. The programming language used is Java.

Lecture/Lab/Project Schedule

Class Notes

Course Policy

Projects

Labs

Office Hours:

Tim Korb: Tuesday 1:30-2:30 LWSN Commons

Aditya Mathur: Wednesday 2:30-3:30 LWSN 1177

Barry Wittman: Thursday 1:30-3:30 LWSN B116D

Daniel Tang: Wednesday 11:30-12:30 LWSN B116

Evaluation

Exam 1 15 points
Exam 2 15 points
Labs 15 points
Projects 25 points
Final 30 points
Total 100 points

Course grading will be relative. The new letter grading scheme will be used. This scheme allows finer divisions of grades from A+ to F.

 

Textbooks

Sequential Programming:
Java: Introduction to Problem Solving and Programming (5th Edition) by Walter Savitch and Frank M. Carrano (Paperback - Jun 9, 2008).

Concurrent Programming:
Barry Wittman: Class notes to be provided.

Latest update: August 25, 2008