CMPS 12A Introduction to Programming Spring 1999 Time and Place: MWF 11:00 \226 12:10 Classroom 1 Outline: This is an introductory programming course for computer science and engineering majors. We will learn programming and documentation skills, algorithmic problem solving, and programming methodologies. Topics include procedures and functions, conditional and loop control structures, static and dynamic memory manipulations, and text processing. Some prior programming experience is recommended but not required. Prior experience with Athena/Unix is also helpful. Instructor: Patrick Tantalo Office: Applied Sciences 153A Phone: 459-4913 Email: ptantalo@cse.ucsc.edu Office Hours: TBA Teaching Assistant: Allison Coates allison@cse.ucsc.edu Office hours to be announced. Text: Problem Solving and Program Design in C, 3rd Edition. Hanley and Koffman. Addison Wesley, 1998. We will cover chapters 1-9, 11,12 of the text, with perhaps a few optional sections omitted. By all means, read this book. Class Webpage: http://www.cse.ucsc.edu/classes/cmps012a/. Class News Group: ucsc.class.cmps012a Assignments and Grading: Homework: Weekly programming assignments, submitted electronically, will count for 30% of your grade. In addition, I will assign problems from the book which will not be graded. Quizzes: Bi-weekly quizzes (every other Friday) on recently covered material, will count for 35% of your grade. Final Exam: The final exam, to be held Friday, June 11 from 12:00 to 3:00 pm, will count for 35%. Please make arrangements now to be available at the appropriate time. Grading: The grading distribution will be no more stringent than the following: 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. 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 your classmates. However, copying any part of another person\222s program, or allowing your program to be copied is not permitted. An automatic program will be in use 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 in the class. How to submit homework electronically: It is a requirement of this course that all your programming assignments compile, and run correctly on the CATS-Athena machines. If you do not already have a CATS account, register for one as soon as possible. This can be done from any computer lab on campus. Simply log on as \223register\224, when prompted for a password respond \223athena\224, then fol\ low the instructions presented. Further instructions are available at the CATS webpage: http://www2.ucsc.edu/cats/sc/help/intro, or you can go to the CATS offices in the communications building. Use the submit command to electronically submit a homework file from your CATS account. You must give submit the following information (order is relevant): 1. Which class are you submitting to (always cmps012a). 2. Which assignment you're submitting for (hw1, hw2, hw3, etc.). 3. Names of the files you're submitting. For example, if for homework 5 you submit a program called program.c and a data file called file.dat, you should type at the Unix prompt: submit cmps012a hw5 programt.c file.dat If you submit multiple copies of a file (with the same file name), only the most recent version remains. I recommend that each time you submit homework, you verify that it was properly accepted by using the peek command. At the Unix prompt type: peek cmps012a hw5