Course Information | Grading | Labs | Programs | Exams | Policies | Resources |
Instructor |
Place and Time |
||
Michael Haungs email: mhaungs@calpoly.edu office: 14-226 office hours: TuTh 3-5pm Grader: Matthew Schlachtman, Jennifer Hughes email: mschlach@calpoly.edu, jhughes@calpoly.edu |
|
Basic principles of algorithmic problem solving and programming using methods of top-down design, stepwise refinement and procedural abstraction. Basic control structures, data types, input/output, arrays, and use of library packages. Introduction to the software development process: design, implementation, testing and documentation. The syntax and semantics of a modern programming language. Applications to various problems in math, science, engineering and business. Introduction to software development tools: UNIX, editors, and compilers.
Here is a tentative lecture/reading schedule for the quarter.
Hanly & Koffman. Problem Solving and Program Design in C. (4th or 5th edition.)
Kernighan and Ritchie. The C Programming Language.
Glass and Ables. UNIX for Programmers and Users. 3rd Edition (Chapter 2)
MATH 118 (or equivalent) with a grade of C- or better, and basic computer literacy (CSC 100, CSC 171, or CSC 232 or equivalent). You do NOT need prior programming experience.
Knowledge of the C programming language will be expected of you in CSC 102, CSC 357, and CSC 453.
Lab Assignments | 10% |
Lab Quizzes | 15% |
Programs | 20% |
Midterm I | 15% |
Midterm II | 15% |
Final | 25% |
Total | 100% |
Letter grades for the course will be assigned according to the following schedule: 100%-90% A, 89%-80% B, 79%-70% C, 69%-60% D, 59%-0% F.
NOTE: You must earn a grade of C- or better to be able to enroll in CSC 102.
Due dates for all coursework are shown on the assignment. Most labs and programs will be submitted electronically through a procedure called "handin." Your work will be time-stamped automatically when you submit it. Work which is received late, even by one second, receives no credit. Do NOT submit your assignments via e-mail.
Missed quizzes and exams can not be made up.
Regrades must be submitted within one week after the grades have been posted.
This course involves both individual work and collaborative work. It is your responsibility to understand the guidelines that apply to each kind of work and to be clear about which assignments are individual assignments and which are collaborative.
Activities not designated as cooperative assignments in this course are to be done individually. Individual work is to be carried out entirely and solely by an individual. You may not "work together" on individual assignments. The content of the assignment is not to be discussed or shared in any way with other students. There is to be no conversation about individual assignments except with the instructor or a department-designated tutor. This policy will be rigorously enforced.
Programs will be checked for plagiarism using both computer and human similarity checkers.
Take extreme precautions that your individual work is not viewed by other students. This includes deleting all your computer files from public workstations when you are finished, retaining private permissions on your Unix files, destroying printouts of source code, and not letting other students use your personal computer where you store your coursework.
In addition, the work you submit must be entirely your original creation. Using solutions from any other source is forbidden; in particular, using solutions (either instructors' or other students') from previous offerings of this or other courses is not allowed. Using solutions found on the Internet or getting help from online forums is not allowed.
Assignments which appear to be the result of a "group effort", or appear to have been copied from another student, will be considered plagiarized. Violations of this policy may result in being failed from the course and a letter placed in your record at the Office of Judicial Affairs.. See the campus statement on Academic Dishonesty: Cheating and Plagiarism (C.A.M. 684)
Certain laboratory activities will be designated as team activities. Students will select a partner to cooperate with to complete the lab activities. Be sure to use these cooperative activities as a chance to master the skills, as there will be quizzes in which each person must perform the skills individually.
I will report all suspected incidents of academic dishonesty to Judicial Affairs. If guilty, the student will receive an "F" in the course.
During the lab hour you will complete structured hands-on activities on the computer. The lab activities assist you in learning the features of the C programming language and software development environments. Typically, the assignments are designed to be completed in 1 week (3 lab sessions). You may occasionally find you need more time to complete them, in which case you may finish the activity outside of class time, at home or in some other lab.
With the exception of the first week's lab, all labs are cooperative activities, and thus attendance is required during the lab. You must arrive on time and participate fully in order to receive credit for the lab. For collaborative lab assignments, two students will share a single workstation.
Assignment | Due | Points |
Lab #1 (html) | Jan 11 | 1% |
Lab #2 (html) | Jan 18 | 1% |
Lab #3 (html) | Jan 25 (changed to Jan 28) | 1% |
Lab #4 (html) | Feb 1 (changed to Feb 4) | 1% |
Lab #5 (html) | Feb 8 | 1% |
Lab #6 (html) | Feb 13 | 1% |
Lab #7 (html) | Feb 22 (**CANCELLED**) | 1% |
Lab #8 (html) | Feb 29 | 1% (changed to 2%) |
Lab #9 (html) | Mar 7 | 1% (changed to 2%) |
Lab #10 (html) | Mar 14 (**CANCELLED**) |
1% |
There will be 3 lab quizzes. The quiz is an in-class practical hands-on exam administered during lab hour. The quizzes will be similar to the lab activities. You will be required to demonstrate some programming skill on the computer.
Assignment | Due | Points |
Quiz #1 | Jan 25 | 5% |
Quiz #2 | Feb 18 | 5% |
Quiz #3 | Mar 7 (changed to Mar 10) | 5% |
Assignment | Due | Points |
Program #1 (html) | Jan 18 | 4% |
Program #2 (html) | Feb 1 | 4% |
Program #3 (html) | Feb 14 | 4% |
Program #4 (html) | Feb 29 (Changed to Mar 3) | 4% |
Program #5 (html) | Mar 14 | 4% |
There are 2 midterm exams and a comprehensive final exam. These exams are written (not practical) exams. The final is a common final and will be held on TBD. Note: This is not the official time for the final exam for this class. You must check your final exam schedule to be sure there are no conflicts. If your cumulative score in the course before the final exam is so low that earning 100% on the final would not enable you to pass, you are not eligible to take the final.
Assignment | Due | Points |
Midterm I | Jan 25 | 15% |
Midterm II | Feb 18 | 15% |
Final | TBD | 25% |
Students enrolled in this course are entitled to a computer account on the computer science department machine "Hornet" (hornet.csc.calpoly.edu). There are numerous software tools available on this system which you might find helpful.
A number of important class documents will be made available in electronic form (e.g. assignments, due dates). These files should be considered as evolving documents, as they will be refined and updated as the course proceeds. Each document will have a version date so that you can determine if you are reading the most recent version. It is your responsibility to be sure that you are working from the most current document.
Occasionally the instructor will mail announcements to the entire class by using an alias which sends mail to your OracleMail account. If you don't use OracleMail regularly, you should setup your OracleMail account to forward your mail to your regular email account.
Computer Science majors are expected to be proficient with tools of their trade such as e-mail and backups. Excuses such as "my email account was down" or "my hard drive crashed" are not likely to gain much sympathy.
The instructor will not read email whose "Sender" field is not an actual student name. Don't use nicknames in mail you send to the instructor or it will be returned to you unread.
Grader UNIX account (by section): TBD
This account contains certain documents and sample programs you will need to complete the class assignments. Campus computing policies (as well as state and federal laws) prohibit you from reading files in other users' accounts, regardless of whether the file permissions allow such actions, unless you have been given specific authorization to do so.
Lab assignments and programming projects will be submitted to this account for grading via "handin." To send a message to the instructor, be sure to e-mail it to the instructor's personal account, mhaungs.
It is a core value of an academic environment to treat others with respect. Most importantly, an atmosphere conducive to learning can be fostered by minimizing distractions for others who are trying to concentrate. Common rules include:
Lab Rules:
You may use CPReg to drop this course any time during the first eight days of class. Please carefully evaluate your schedule and determine if you will remain in the class before the end of the add/drop period. After the drop date, the only way to leave the course is called "withdrawing" from the course; this requires a documented "serious and compelling" reason, such as a medical emergency. You may not withdraw simply because you are earning a bad grade or you forgot to drop through CPReg. Withdrawal requires you to document that some desperate situation has arisen after the drop day that you could not have reasonably anticipated.