Syllabus

Course Objectives

CMSC 250 is the second course in our introductory programming sequence. The purpose of this course is to complete your basic education in programming. This includes topics related to the construction of application software such as user interface programming, file systems, networking, exception handling, databases, and web application programming. More generally, this course is about the skills needed to assemble and deliver larger pieces of software.

Course Structure

The material in this course naturally falls into three major divisions. The first part of the course will cover graphical user interfaces and object-oriented design. The second part will cover advanced topics in programming (exceptions, threads, file i/o, and networking). The third part will focus on primarily on Java web programming. We will have an exam at the end of each of these three major divisions.

Text

Our text is An Introduction to Java Programming, Seventh Edition, by Y. Daniel Liang.

Web Site

The course web site is located at http://www.lawrence.edu/fast/greggj/cmsc250.html

Grading Policy

Your grade will be based on two midterm exams, programming assignments, and a final exam according to the following weightings.

Programming assignments                   60%

Midterm exams                                    10% each

Final exam                                           20%

Office Hours

My office hours this term are 1:00-3:00 TTh and immediately before and after my 9:50 and 1:50 classes on MWF. You are welcome to stop in at other times as well, but please call first. My office is Briggs 413. My extension is 6736 and my email address is greggj@lawrence.edu.


Detailed Course Schedule

Date

Topics

Chapters

Sept. 14

Simple GUIs

13

Sept. 16

Graphics

14

Sept. 18

Event driven programming

15

Sept. 21, 23

Advanced GUIs

15, 33-35

Sept. 25

Exceptions and Files

18, 19

Sept. 28

Java Collections Framework

22

Sept. 30

Object-oriented design

-

Oct. 2

Threads

29

Oct. 5, 7

Networking

30

Oct. 9

First Midterm Exam

 

Oct. 12, 14

SQL and JDBC

37, 38

Oct. 16, 19

Servlets

39

Oct. 21

Java Server Pages

40

Oct. 26, 28

Java Server Faces

41

Oct. 30

Second Midterm Exam

 

Nov. 2

Applets

17

Nov. 4

RMI

43

Nov. 6

UML

 

Nov. 9-16

Group project

 

The following is an outline of the topics we will cover and when we will cover them.