CMPS 012a: Introduction to Programming - Winter 1999


[Homepage] | [Contact Information] | [FAQ's] | [Class Code] [Lab Sections] | [General Lab Info] | [Homework Assignments] | [Excellent Programs] | [Quizzes and Exams]



 

Final Grades for Winter 1999

 

Lecture: MWF 2:00 - 3:10.   Lab sections posted below.
Location: NEW LOCATION: CLASSROOM UNIT 1


Contact Information:

Instructor: Patrick Tantalo
Office: Applied Sciences  153A
Hours: Tues Thurs 10:00 - 12:00
E-mail: ptantalo@cse.ucsc.edu
TA: Allison Coates
Office: Applied Sciences  215
Hours: by Appointment
E-mail: greifer@cats.ucsc.edu
TA: Smita
Office:
Hours: by Appointment
E-mail: smita@cse.ucsc.edu
Reader:
Office:
Hours: tba
E-mail:

Lab sections are posted below . Attendance at lab is not required; it is highly suggested. TAs and tutors will be staffing labs; take this time to ask them questions about your work.

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

Audience:

This course is for CS, CE and ISM majors and prospective majors. These are disciplines which emphasize mathematics and problem solving. There are other computer literacy and computer programming courses that are offered for the non-major. If you are shaky in your preparation you should consider waiting until after you take calculus or take CMPS001.

Required Text:

Problem Solving and Program Design in C: 3rd edition. Hanly and Koffman. Addison-Wesley, 1998.
The textbook for this class will be available from both the Baytree Bookstore and Slug Books Co-op.

A copy of the syllabus is available here.

Assignments and Grading:

 

 
 
 
 
 

        Grading: Homework will count for 30% of your grade, Quizzes 35%, and the Final 35%. The grading distribution will be a straight scale:

   A:     90% - 100%
   B:     80% - 89%
   C:     70% - 79%
   D:     60% - 69%
   F:     0% - 59%
The letter grade boundaries may be lowered slightly at my discretion to eliminate borderline cases.

 

 
 
 
 
 

        Homework: There will be weekly programming assignments, taken from the book, which will be submitted electronically. This quarter you will using the Unix operating system for your programming assignments. You will use gcc for C programming, and submit for turning in homework. submit will not allow late work. Late work will not be accepted or graded. The program should be submitted in whatever form it is in - even if the code does not work correctly. Homework is graded for style, correctness, conciseness, readability and efficiency. In addition, I will assign problems from the book which will not be turned in or graded. Do these problems. They are meant to help you learn the material necessary to perform well on the homework and quizzes.

        Quizzes: In lieu of midterm exams, there will be roughly bi-weekly quizzes (every other Friday) on recently covered material. Quizzes will take about twenty minutes, and be held at the end of the class hour.
Solutions to previous quizzes can be found here. Quiz 1 was on January 15. There will be another Quiz on Friday, January 29.

        Final Exam: The final exam will be held Friday, March 19 from 4:00 to 7:00 pm.

        Academic Honesty: The graded programming assignments are to be done individually, not in groups. You should treat them as take home exams. You may freely give and receive help with the computer facilities, editors, UNIX, debugging techniques, the meaning and proper use of C constructs, syntax, etc.. It is also perfectly permissible to discuss general approaches and algorithms with you classmates. However, copying any part of another person's program, or allowing your program to be copied is not permitted. An automatic program will be used to detect copying. Any confirmed academic dishonesty including, but not limited to, copying programs or cheating on exams, will constitute a failure on that assignment, and will result in a no-pass or failing grade.
 

Homework Assignments:

Homework assignments can be found here. Solutions to previous quizzes can be found here.

Section List/Teaching Assistants:

Name & Email Section Office Hours
Allison Coates
greifer@cats.ucsc.edu
Section 01A, M 3:00-5:00 PM
Ming Ong Com 108 

Section 01C, M, 5:00-6:30 PM
Ming Ong Com 108

Section 01D, T, 3:30-5:00 PM
Ming Ong Com 108
 

Applied Sciences 215, by appointment.
Smita
smita@cse.ucsc.edu
Section 01E, M 12:00 - 1:30 PM
Soc Sci I 

Section 01E, W 10:00 - 11:30 AM
Soc Sci I 

Section 01F, Th 12:00 - 1:30 PM
Soc Sci I 
 

By appointment.
Therese Frericks
therese@cats.ucsc.edu
Section 01C, T 2:00-3:30 PM
Ming Ong Com 108 

Section 01G, Th 2:00-3:30 PM
Soc Sci I 
 

Johnson 
jqhang@cats.UCSC.EDU
Section 01A, M 2:00-3:30 PM
Ming Ong Com 108 

Section 01B, M 3:30-5:00 PM
Ming Ong Com 108 
 

Sabrina 
intherye@cats.UCSC.EDU
Section 01C, T 2:00-3:30 PM
Ming Ong Com 108 

Section 01D, T 3:30-5:00 PM
Ming Ong Com 108 
 

Miles 
miles44r@cats.UCSC.EDU
Section 01f, TH 10:00-11:30 AM
Ming Ong Com 108 
Keiko O'Leary 
kaoleary@cats.UCSC.EDU
Section 01D, M 12:00-1:30 PM
Soc Sci I 
Ryan 
jansco@cats.UCSC.EDU
Section 01E, T 10:00-11:30 AM
Soc Sci 1 

Section 01E, W 10:00-11:30 AM
Soc Sci 1 

Section 01E, Th 10:00-11:30 AM
Ming Ong Com 108 
 

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. This quarter you will using the Unix operating system for your programming assignments. You will use gcc for C programming, and submit to turn in your homework. You will need to be familiar with some text editor.
 
 
How to submit homework electronically:
People have reported trouble with submit. If you have any trouble, let us know. We are looking into the problems. In the meantime, if you have trouble, log out, and log back in; or log onto one of the cats machines (si,am, or ese) and try submitting from there.
To submit, at the prompt, type:
        %submit lockernameassignment_namefile1 file2 file3 where file1 file2 is the list of files you are submitting.
In this case, the lockername is cmps012a. The assignment name is hw1 or hw followed by whatever the number of the assignment is.For example, if for homework 5 you have a program called squareRoot.c and an output file called hw5.output , you should type:
        % submit cmps012a hw5 squareRoot.c hw5.output
When you submit mulitple copies, only the last one remains. If you want to see what you've turned in, use the command peek with the class and assignment name: % peek cmps012a/Winter99 hw5
Using CATS/Athena
If you do not already have an Athena account, register for one as soon as possible. This can be done at any computer lab on campus. Simply log on as "register" and type "athena" at the password prompt. Then follow the instructions. Accounts will be active within 24 hours.

If you are unfamiliar with Athena, CATS support center has many resources. In addition to web pages, they offer courses (UNIX survival skills, Intro to AFS), have many handouts, and a phone line (459-HELP). Some other places to look for help are:

How-tos:
Athena Intro to computers at UCSC
List of Athena Intros
MIT guides to the Athena
Help with text editors:
Some nice text editors are emacs (/bin/emacs), xemacs (/usr/athena/bin/xemacs), and pico (/bin/pico). Some people like vi (/bin/vi). there is a man page for each. Emacs and Xemacs have help files inside the program (type "ctrl-h"). Some other references are:
Emacs home page
Emacs manual page
Xemacs FAQ
Pico Tutorial
Help with gcc:
To compile your program, type:
        gcc -Wall -ansi -D__USE_FIXED_PROTOTYPES__ -o prog_name source_code.c -lm
            where prog_name is the name of the program (the executable),and source_code.c is the name of the source code you are compiling. The phrase __USE_FIXED_PROTOTYPES__ begins and ends with two underscores.
-Wall means "show all warnings"; -ansi will be discussed later. For linking with the math library, use -lm . This must come at the end. For more information on gcc, look at the man page (type "man gcc").

For info on gcc and other gnu software, look at:
GCC home page, or GNU home page.

Other Information

Two Computer Science Related Activities:
UCSC chapter of the ACM (Association for Computing Machinery)
UCSC chapter of the IEEE

 

 
 



Projected Reading Schedule

Date Topic Reading 
January 4 Developing Software Sections 1.3-1.6
January 6, 8, 11 Overview of C Chapter 2
January 13, 15, 20 Top-down Design with Functions Chapter 3
January 22, 25, 27 Selection Structures Chapter 4
January 29, Febuary 1, 3 Repetition and Loop Statements Chapter 5
Febuary 5, 8, 10 Modular Programming Chapter 6
Febuary 12, 16 Simple Data Types Chapter 7
Febuary 17, 19, 22 Arrays Chapter 8
Febuary 24, 26 Strings Chapter 9
March 1, 3, 5 Structures Chapter 11
March 8, 10 Text and Binary File Processing Chapter 12
March 12 Review


[Homepage] | [Contact Information] | [FAQ's] [Class Code] | [Lab Sections] | [General Lab Info] | [Homework Assignments] | [Excellent Programs] | [Quizzes Exams]

If you find any errors, please report them, including the page title and as accurate of a description as possible, to:
allison@cse.ucsc.edu

 
 
 
 

Last modified: Wed Mar 17 14:20:24 PST 1999