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]
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 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