CSC 101 / CPE 101:
Fundamentals of Computer Science 1

PLEASE NOTE THAT THIS SITE MAY EVOLVE AND MAY CHANGE. Check back frequently for updates and new information.
Spring 2003
(Sections 02 & 03 only)
http://www.csc.calpoly.edu/~csturner/courses/101/administrivia.html
(If viewing this in hardcopy, please note that
the online version contains links you may want to follow.


| Course Goals | Textbooks & Software Tools | Components | Grades | Policies |

Course Goals

Course Purpose: The first in a three-term sequence, this course is an introduction to computer science. It is intended for students who are majoring in computer science, computer engineering, or management information sciences. (This course is not intended for students who wish to "learn to program." It is intended for students who plan to go into the computing field as a professional career.)

Prerequisites

Main Topics:


Textbooks and Other Materials


Course Components

Readings: Weekly reading assignments are listed on the course schedule. You should always read the textbook in advance of the corresponding lecture. You may want to re-read sections again after class for deeper understanding, but a thoughtful reading ahead of the lectures will be critical to your success in this class. How much of each week's reading should you do before each session? If possible, read the entire week's material beforehand so you'll know where we are going. If you can't always stay that far ahead, look at the number of chapter sub-sections, and the number of pages, for each week. Divide each by the number of lectures that week (typically, 3), round up in both cases, and read an amount that corresponds to the larger of those two results.

Lectures: Attendance at all lectures is expected. Notify your instructor in advance should you ever need to miss a class.

Be aware that the time allotted for lectures is insufficient to permit thorough coverage of all the reading material. Lectures will address first selected key concepts as well as ideas that some students will likely find difficult. But quizzes and exams will contain questions from the entire reading assignment: both concepts covered in class or lab and concepts from the reading that were not mentioned.

I will often actually "lecture" during lecture sessions (and occasionally, during lab times): to cover a handful of topics from the readings, to present selected examples, and to review common issues from labs, programs, quizzes, and exams. I will answer your questions, either in class or by suggesting we have a more individualized discussion during my office hours. In addition, your active participation is expected: follow the presentation; think about how my comments match, or don't, your own understanding from the readings and exercises you did before class; take notes -- but try to capture the ideas being presented rather taking down words without thinking about them; ask questions as needed; when time is given to work with partners, take advantage of the opportunity provided.

Quizzes: There will be seven quizzes, closed book and open notes, lasting approximately 10-20 minutes each. Normally they will be offered during the lecture hour: if a switch to lab is ever needed, this will be announced in class. The best six (6) of your seven (7) quiz scores will be used in computing your final grade. There will be no make-up for missed quizzes: if you should miss one, your grade will be computed from the six you did take; if you miss more than one, one of those will still be dropped but the other missing ones will be scored as zero (0). So please do not even consider skipping a class just because you think you may not do as well as you'd like on a particular quiz: I will drop your lowest score, no matter what it is, and even if I have to count a low one, a zero will pull your average down more than will even a weak actual score. Note that your quiz grades are a substantial portion of your overall grade.

To prepare for the quizzes, it is recommended that you work on the Self Review Questions, Exercises, and Programming Projects from the textbook: compare your completed answers with those completed by several of your classmates, then see your instructor, preferably in small study groups, to resolve any discrepancies you find after working together.

Team Laboratory Work: Attendance at all labs is expected. Notify your instructor in advance should you ever need to miss a lab. Attendance is particularly important because lab activities will be completed in teams: teams will be assigned by your instructor and may change regularly throughout the term.

Lab assignments will normally be completed during your scheduled lab time; your team is welcome to convene in another facility at another time to do more work in addition to (but not instead of!) that which you have time to complete in the scheduled lab. Unless noted otherwise on the course schedule, labs will be due during the last lab session for your section in a given week. Most labs will require that you demonstrate something to me, or to a grader, while in lab; a few will require you to hand in electronic files or printed output before you leave the last lab session. Late labs will not be accepted: you will just have to hand in and/or demonstrate what you have managed to complete by the end of the week.

Occasionally, part of the week's lab time may be devoted to program analysis: in teams, you will write reviews of each other's work and submit those for grading. When this happens, completed reviews will be required from everyone, and will be graded as part of the corresponding programming assignment.

Finishing your lab assignment early does not give you automatic permission to leave early: all members of your team will be expected to look around the lab and see if any other teams could use your assistance, either individually or as a group. (I will often be busy checking off whether other teams have completed their work and may not have time to help yet other teams at that moment!) If no one else needs help, then you may use any remaining lab time to work on your individual programming assignment. If you finish that early too, and there really is no one else who needs help, then you may ask me for permission to leave early.

Labs will be completed as a team, and grades will be assigned accordingly. Why teams? There are several reasons. For one, educational theory indicates that some teamwork is beneficial to all students. Yes, all! All of you will face challenges and all of you will make mistakes, but they'll be different ones for different people. You should be able to help each other out initially, and only have to wait for me when you cannot resolve apparent discrepancies. That should make lab time more productive and less stressful for all of us. For another, employers want people who are already skillful at working in teams so, if you haven't yet figured out how to do so, now is the time to start or, if you have, here's another opportunity to hone those skills.

Examinations: There will be two written examinations:

  1. A written mid-term exam:
  2. A multi-part final exam:
Note: you must obtain at least 50% on all parts of the final examination (the programming part and the two comprehensive parts), and an overall passing total (60%) on the combination, in order to earn a passing grade for the course.

Individual Programming Assignments: While all your in-class labs will be done as teams, your outside programming assignments must be developed individually. Yes, you may ask the odd simple question or get an occasional brief clarification from a classmate or raise some possibly-common concerns on the class discussion boards, but all the actual design, development, documentation, and testing are to be done as an individual. Any non-trivial discussion or any form of collaboration that should happen to take place must be indicated clearly in the program documentation. Apparent "collaboration" not documented will be treated as plagiarism or other forms of cheating (i.e., as a very serious academic offense).

Regularly save back-up copies of your programs, especially when you have one that will compile correctly. While accommodation will be made for widespread service disruptions (e.g., city- or campus-wide power outages that could prevent your completing an assignment), recovering from individual file loss or other individual complications are your own responsibility.

Instructor Office Hours: Students are encouraged to take advantage of the instructor's weekly This is a first-come, first-served operation: no appointment is necessary during official office hours, but I'll do my best to accommodate everyone who shows up during the appointed times. If prioritization should ever be required, the needs of study groups who show up together will be addressed first, while any individuals will be pointed to other resources (e.g., classmates, CSc tutors, Cal Poly help desk personnel) in the short term until my next available time. If you need to talk with me individually (e.g., about a personal issue or a problem with a classmate or team member), it's often good to contact me to set up a private appointment at another time.

Overall:Quizzes and examinations must be taken at the scheduled times. Exceptions will, of course, be made for medical or other serious emergencies, if and only if adequate written documentation is provided at the time you request to schedule the make-up date.


Grading Scheme, finalized in the second week of class.
Assignment Weights
Labs 10%
Lab exam 10%
Programs 10%
Quizzes 20%
Mid-Term Exam 20%
Comprehensive
Final Exam
30%
Total 100%

Notes:

  • The quiz grade will be computed from the best six (6) out of seven (7) quiz scores.
  • Individual labs, programs, and quiz scores may be computed based on different numbers of total points. Such a process, however, is only for the convenience of the grader. All scores will be converted to percentages before total scores are computed.

Issues & Policies
Copyright © 2000. by Carol Scheftic. All rights reserved. Used by permission.
Portions of this document have been adapted, with permission, from work written by other CSC-101 instructors (e.g., Laurian Chirica, Lew Hitchner, Mark Hutchenreuther, Mei-Ling Liu, Phil Nico, and Erika Rogers). Requests to reuse information from this page should be directed to Carol Scheftic. (If I find you are asking to use something I adapted from another author, I'll forward your request as needed.)
Page created 17 September 2000; last updated 22 June 2001.