CMPS 012a: Introduction to Programming - Fall 2001


[Homepage] | [General Lab Info] | [TA's & Tutors] | [FAQ's] | [Supplements] [Homework] | [Sample Program Solutions] | [Exams]

Instructor Information

Office: BE 239
Hours: Tuesday 10-11am, Wednesday 1-2pm, Thursday 1-2pm
E-mail: charlie@cs.ucsc.edu
Course Notes

Here is a link to WebCT for the online discussions and submitting programming logs.

General Lab Information

This section contains general information about things you will need to know how to do in order to do well in this class (and future classes as well). It includes information on using Unix, creating a program, and submitting homework assignments.
If you need additional background information, you should definitely check out the resources CATS (Communications and Technology Services) provides. They are located downstairs in the Communications building.

TA's and Tutors

This section contains information about the lab times and when the TA's and tutors are available.

Lecture Supplements

This section contains additional information from the instructor to supplement the lectures. Materials will be added here as they become necessary.

FAQ's (Frequently Asked Questions): See if your question is here!

This section contains questions pertaining to programming which students frequently ask.

Exam and Homework Scores by Secret ID (supplied by you at first quiz)

Final grades 12-10-01

Required Text:

Java by Dissection. Pohl and McDowell Addison-Wesley, 2000.
The textbook for this class will be available from both the Baytree Bookstore and Slug Books Co-op.

Evaluation:

A minimum of 50% on all four aspects of the grade is necessary but not sufficient to pass this class. This means, if you receive less than 50% on any one of the three parts (hw, quizzes, pop-quizzes, or final), you will not pass, however, just because you score at least 50% on each part does not imply that you will necessarily pass. For example, someone that scored 51% on each of the four parts would almost certainly, NOT pass. The policy is intended primariliy to prevent students from "blowing off" the homework because it only counts 20% of the grade. You cannot pass this class if you do not do the homework.

Working Together: The graded programming assignments are to be done in two person teams. You are free to choose your own partner, but you and your partner must be enrolled in the same lab section. You may freely give and receive help with the computer facilities, editors, UNIX, debugging techniques, the meaning and proper use of Java constructs, etc.. You should not discuss the graded programming assignments with students other than your teammate until after they are turned in. In particular you should not view another person/teams program, or allow someone (other than your partner) to view any part of your program, prior to turning it in. Obviously, copying any part of another person/team's program, or allowing your program to be copied is not permitted. A program will be in use to detect copying. If you have any questions on this important point, please see me.

Ungraded practice assignments: In addition to the five graded programming assignments, there will be four, ungraded programming assignments. For these assignments you are free to consult freely with any of your classmates. You are encouraged to try and complete the assignments with your teammate. The experience gained in completing these assignments will help you with the graded assignments and the exams, which must be solely your own work.

Academic Dishonesty: Any confirmed academic dishonesty including but not limited to copying programs or cheating on exams, will constitute a failure of the computer ethics portion of this class and result in a no-pass or failing grade. You are encouraged to read the campus policies regarding academic integrity.

Facilities: This quarter you will using the Unix operating system for your programming assignments. You will use submit for turning in homework.

Homework: Turn in homework by using the submit procedures. Only one person from each programming pair should submit the program. It will not allow late work. Late work will not be accepted or graded. The program should be submitted in whatever form it is in - it is possible to receive some partial credit for a program that is not working. Homework is graded in terms of it being done in a good style, being correct, being concise, being readable, and being efficient.

Programming assignments and due dates can be found on the class web page. Here are the first few.

Quizzes: There will be a quiz every other Thursday with the first quiz on September, 27th.

In addition, there we be unscheduled "pop" quizzes from time to time. The main purpose for these quizzes is to motivate you to read the relevant sections in the textbook BEFORE the material is covered in class. The pop quizzes are designed to be short (5 minutes) and be answered if you carefully read through the material. They will not be deep questions requiring a mastery of the material. Deep mastery is tested for on the scheduled quizzes.

Audience: This course is for CS, CE and ISM majors and prospective majors. These are disciplines which emphasize mathematics and problem solving. There are computer literacy and computer programming courses that are offered for the non-major. If you are shaky in your preparation you should consider taking CMPS010, which is highly recommended for all CS majors.

Syllabus

Date Topic Reading
September 20 Developing Software Chapter 1
September 24-28 Program Fundamentals Chapter 2
October 1-5 Conditionals and Loops Sections 3.1-3.5
October 9 Loops and Conditionals (cont) Chapter 3.6-3.10
October 11 Functional Abstraction Chapter 4.1-4.4
October 15-19 Functional Abstraction (cont) Chapter 4.5-4.13
October 22-26 Functional Abstraction (cont) Chapter 4 (read it again)
October 29-November 2 Arrays Chapter 5
October 29-November 2 One Dimensional Arrays Chapter 5.1-5.6
November 5-9 Two Dimensional Arrays Chapter 5.8-5.12
November 12-16 Data Abstraction Sections 6.1-6.5
November 20 Data Abstraction (cont) Chapter 6.6-6.8
November 26-30 OOP Chapter 6.9-6.15
December 3 Final Exam 4-7pm Chapters 1-6

[Homepage] | [General Lab Info] | [TA's & Tutors] | [FAQ's] | [Supplements] [Homework] | [Sample Program Solutions] | [Exams]

This page maintained by Charlie McDowell. Email regarding this site.