Syllabus for CMSC 150

Spring Term 2009 9:50 MF Mr. Gregg

Course Description and Objectives

CMSC 150 is an introductory course in computer programming with instruction in the Java language. The first objective of this course is to give you an introduction to programming in Java. The second objective is to begin the study of the discipline of computer science.

How this Course is Structured

We will meet twice a week for lectures and once a week for a lab session. Assignments will be given both after lectures and in the lab sessions.

We will have two midterm exams and a final exam. Midterm exams are tentatively scheduled for Friday, May 1 and Friday, May 22. The final will be on Monday, June 8 at 8:30 AM.

What I Will Expect of You

Although CMSC 150 is an introductory course, many students find it to be a challenging course. This course is challenging for a couple of reasons. The first is that most students arrive at this course with absolutely no prior experience with computer programming. That is fine, because the course is organized around the assumption that students coming into CMSC 150 have no prior exposure to programming. However, this course does move along at a pretty good pace, so you will have to start applying yourself diligently from the very beginning. Another challenge comes from the fact that what we are learning is highly cumulative. Each new topic in the course builds on what comes before it, so it is especially important that you keep up with what we are doing.

My biggest single expectation is that you maintain good work habits and manage your time well. Here are some specific things I recommend you do throughout the term.

Grading Policy

Assignments and exams have the following weights:

Labs and Homework - 60% Midterm exams - 10% each Final exam - 20%

Late policy for assignments is that I will accept assignments late with a penalty of 5% per day late. Most assignments will require that you turn in your work at a specific time. If you turn your work in on the same day but after the time it was due I will still count off 5%. If you need an extension, please contact me before the assignment is due.

Textbook

Our text is Introduction to Java Programming, Seventh Edition (Comprehensive Version) by Y. Daniel Liang.

Schedule of Topics

WeekTopic
1Intro to Java
1-2Decision structures
2-3Loops
3-5Methods
6-7Arrays
8-9Classes
10Files

Office Hours

Office hours this term are 9-11 on Wednesdays and Thursdays. In addition to those times, I will be available in my office both before and after class time on Mondays and Fridays and will also be available during the Tuesday lab times from 9-11 and 1-3. My office is Briggs 413. My extension is 6736 and my email address is greggj@lawrence.edu.

Course Web Site

The course web site is at http://www.lawrence.edu/fast/greggj/cmsc150.html. The web site will feature lecture notes and other supplementary materials.

NetBeans Software

We will be using the Java SE edition of the NetBeans development environment in this course. The version of NetBeans installed in the lab is 6.1, which is also the version that I will be using for demonstrations in class. If you would like to install NetBeans on your own computer, the latest version of the NetBeans software, 6.5, is available as a free download at http://java.sun.com/javase/downloads/netbeans.html. Versions of NetBeans are available for Windows, Mac, and Linux.