CMPS 012a: Introduction to Programming - Fall 2000


[Homepage] | [General Lab Info] | [TA's & Tutors] | [FAQ's] | [Supplements] [Homework] | [Excellent Programs] | [Exams]

Instructor Information

Office: AS 239
Hours: Monday 1-2pm, and Wednesday, 1-3pm
E-mail: charlie@cs.ucsc.edu
Course Notes

Final Review Sections

Monday 2:30-4:30pm in BE 115
Tuesday 2:30-4:30pm in BE 115
Wednesday 1-3pm in BE 115

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.
If you don't yet have a CATS account, click here to register.

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 Student ID

Final grades as of 12-12-00

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.
This is the first printing of this book, and sad to say, there are a few errors. A list of them can be found here.
The first three chapters of the textbook are available online.

Evaluation:

A minimum of 50% on all three 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, 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 three 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 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 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. 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.

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

Audience: This course is for CS, CE and ISM majors and prospective majors. These are disciplines which emphasizes 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 21 Developing Software Chapter 1
September 25-29 Program Fundamentals Chapter 2
October 2-6 Statements and Control Flow Sections 3.1-3.4
October 9-13 Statements and Control Flow (cont) Chapter 3.5-3.10
October 16-20 Functional Abstraction Chapter 4
October 23-27 Functional Abstraction (cont) Chapter 4 (read it again)
October 30-November 3 Arrays Chapter 5
November 6-10 Data Abstraction Sections 6.1-6.8
November 13-17 Data Abstraction (cont) Chapter 6
November 21 TBD TBD
November 27-Dec 1 TBD TBD

[Homepage] | [General Lab Info] | [TA's & Tutors] | [FAQ's] | [Supplements] [Homework] | [Excellent Programs] | [Exams]

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