CMPS 012a: Introduction to Programming - Spring 2001


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

Instructor Information

Office: AS 239
Hours: Tuesday 10:30-11:30am, and Wednesday, 2-3pm
E-mail: charlie@cs.ucsc.edu
Course Notes

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 Secret ID (supplied by you at first quiz)

As of 6-3-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.
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 by each student, working alone. You should treat these assignments like takehome exams. 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 other students until after they are turned in. In particular you should not view another person's program, or allow someone to view any part of your program, prior to turning it in. Obviously, copying any part of another person'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 on your own. 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. In addition to your program, you are required to submit a log indicating how much time you spent working on each assignment. This is done online using WebCT.

Quizzes: The first quiz will be on Tuesday, April 3rd. The remaining quizzes will be on alternate Thursdays, beginning with the second quiz on Thursday, April 12th.

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
March 27 Developing Software Chapter 1
March 29, April 3 Program Fundamentals Chapter 2
April 5, 10, 12 Statements and Control Flow Chapter 3
April 17, 19, 24, 26, May 1 Functional Abstraction Chapter 4
May 3, 8 Arrays Chapter 5
May 10 Review Chapters 2-5
May 15, 17, 22, 24, 29, 31 Data Abstraction Chapter 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.