CMP 12aIntroduction to Programming
Ira Pohl Office AS 253C hours: Tuesday 2-3, Thursday 2-3 email: pohl@@cse.ucsc.edu TAs and tutors Required Text: C by Dissection: 3rd edition, Addison/Wesley Evaluation: * Bi-Weekly homework/programming assignments (20%). * two midterms (40%). * Final (40%).
Working Together: The programming assignments are to be done individually, not in groups. You may freely give and receive help with the computer facilities, editors, UNIX, debugging techniques, the meaning and proper use of C constructs, etc. It is also perfectly permissible to discuss general approaches and algorithms with your classmates. However, copying any part of another person's program, or allowing your program to be copied is cheating and will not be tolerated. There is a big difference be tween general discussions and sharing or copying sections of programs from other students. Legitimate discussions should be carried out without ever having to look at another person's code. If you have any questions on this important point, please see me.
Facilities:This quarter you will have a choice of using PCs, Macs, or the Athena system for your programming assignments.
Homework: Turn in homework in class on the due date. Late work will not be accepted or graded. One homework score will automatically be dropped. The homework is to be hardcopy. The program should be in whatever form it is in - grading is done not o nly on having working code. Homework is graded in terms of it be done in a good style, being correct, being concise, being readable, and being efficient. The text emphasizes a correct style.
Exams: Will be closed book and generally objective with an emphasis on how C code works.
Audience: This course is for CS and CE majors and prospective majors. CS is a discipline which emphasizes mathematics and problem solving. There are computer literacy and computer programming courses that are offered for the non-major. If you are s haky in your preparation you should consider waiting until after you take calculus or take CMP001.
Syllabus: 1.writing a simple program 2.lexical elements of C 3.flow of control 4.functions and structured programming 5.data types and conversions 6.pointers and arrays 7.pointers and strings 8.ponters and structures[homepage] [homework] [practice] [excellent programs]