Fall 2008          

An Undergraduate Course for CS Majors

 
        
 


Objective
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

Office Hours:

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

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:
Bary Wittman: Class notes to be provided.

Latest update: August 6, 2008