Syllabus

What this course is about

CMSC 100 is an introduction to the ideas and methods of computer science. This course is designed for a general audience: you need not know anything at all about computers to enter this course. The first part of this course will be a quick and limited introduction to computer programming with the Java language. The remainder of the course is a survey of the kinds of activities carried out by computer scientists and the major subdivisions of the field.

The structure of the course

The class will meet twice a week, on Monday and Friday, for a standard seventy-minute lecture. In the middle of the week, you will attend a lab session. The lab exercises are designed to give you an opportunity to work with some of the ideas presented in lecture. Also, roughly every week you will be asked to complete an exercise from the text.

Your grade will be based on two midterms (15% each), assignments (25%), lab assignments (20%), and the final (25%).

Topics covered

            Here is a detailed schedule of subjects we will cover.

Date(s)

Topic(s)

Chapter(s)

1/4

Designing Algorithms

Chapter 2

1/5

First Lab

Labs 2 & 3

1/8

Efficiency of Algorithms

Chapters 2, 3

1/11

Efficiency of Algorithms

3

1/12

Second Lab

Labs 4 & 5

1/15

Computer Architecture

Chapter 5

1/19

Third Lab

Lab 9

1/22

First Midterm

Chapters 2-5

1/25-2/18

Introduction to Java Programming

Chapter 8

1/26

Fourth Lab

Lab 12

2/2

Fifth Lab

Lab 13

2/9

Sixth Lab

Lab 14

2/16

Seventh Lab

TBA

2/19, 2/22

Models of Computation

Chapter 11

2/23

Eighth Lab

Labs 18 & 19

2/26

Second Midterm

 

3/1

Other Programming Languages

Chapter 8

3/2

Ninth Lab

Lab 16

3/5, 3/8

Artificial Intelligence

Chapter 14

3/9

Tenth Lab

Lab 23


The final exam is scheduled for Friday, March 19 at 1:30.

Text

The text for this course is An Invitation to Computer Science, Java Version, Third Edition by Schneider and Gersting. You will also need to purchase the accompanying lab manual and bring that manual to lab with you.

Special resources

I have set up a web site for this course at http://www.lawrence.edu/fast/greggj/cmsc100.html From that page you will be able to get to links for downloading the software used in the lab exercises and the assignments.

If you are experiencing difficulties at any point, please feel free to stop in and see me in my office (Briggs 413). The best time to see me is right after class or lab. At other times, please call first (x6736) to make sure that I am actually in.

In addition to my assistance, you can also get help from the consultants on duty in the computer lab several evenings a week. Check the door of the classroom to see the schedule for the consultants.