![]() |
Syllabus Last Modified on Nov. 6, 2009 |
Instructor: |
|
||
| Teaching Assistants: |
|
Gokcen
Cilingir Sloan 322 gcilingi@eecs.wsu.edu Office Hours: Wed. 4-6 p.m. |
Richard Lee |
Meeting Time & Place: |
|
||
Textbooks: |
.
|
||
Software: |
|
||
CptS 121 is a first course ("CS 1") in computer science for students with prior programming experience. Students without prior programming course should take CptS 111 as a first course. If you're unsure whether CptS 121 is appropriate for you, please take the online placement exam.
In this course, we use the C programming language to explore the fundamental concepts, constructs, and techniques of modern computer programming, including variables, arrays, conditionals, iteration, pointers, data structures, debugging, and software engineering, test cases, and code review. The primary aim of this course is to give you a taste of the field of computer science, and to get you comfortable with computer programming.
By the end of this course, you should
This course aims to help you learn through three distinct activities:
Lectures. Three lectures per week explore the core material of the course. My teaching approach emphasizes interaction (I encourage questions throughout my lectures), learning-by-doing, and practical examples. For example, I like to engage students in group programming and problem-solving exercises at appropriate times in the lecture. In addition, since much of the course involves programming, I also like to hold "example sessions" in which I pose programming problems, and, with the help of the class, interactively derive solutions to those problems.
Labs. A weekly lab session gives you the opportunity to put into practice the techniques and concepts covered in the week's lectures. In each lab, you will be required to work though a structured lab assignment. Because pair programming has been shown to be such a valuable learning activity, you are encouraged to work through all lab assignments with a partner, although each partner is required to hand in his/her own copy.
Online Code Reviews and Interaction. This course is supported by Online Studio-Based Learning Environment (OSBLE), a novel environment be developed at Washington State University. Use OSBLE to
Note:
OSBLE is a prototype environment, and is under active development. As with
any prototype computer system, there are likely to be bugs. We invite you
to submit feedback through OSBLE's
bug tracker. We will also give you the opportunity to share your experiences
with using OSBLE in an online survey later in the semester.
Your grade for the course will be based on the following (weights are in parentheses):
Quizzes (5%). At the end of lecture nearly every Friday, you will take a closed-book quiz to help you and and your instructor assess your understanding of the assigned lecture and reading material. Note that your two lowest quiz scores over the course of the semester will be discarded.
Labs (15%). Weekly
lab assignments give you the opportunity to put into practice the techniques
and concepts covered in the lectures under the supervision of a knowledgeable
teaching assistant. Because pair
programming has been shown to be such a valuable learning activity,
we strongly recommend that you work on your lab assignments with a partner.
You will receive full credit for a given lab if (a) you show up for the
lab on time (there is a 5 minute grace period, after which you will be docked
10 % per 15 minutes late, or fraction thereof. If you are more than 149
minutes late, you will not receive credit for the lab) and actively participate
in the entire lab by making a sincere effort to complete all of the
problems; and (b) you make a sincere effort to assist other students with
the lab in the event that you finish before them. To encourage peer mentoring
(another potentially effective learning activity) and a sense of teamwork,
our policy states that students may not go on to later lab problems until
everyone in the lab is done with the current problem. . Also note
that all C code written in lab assignments must adhere to the Recommended
C Style and Coding Standards; your TA will let you know if you are not
adhering to these standards.
Midterm exams (20%). Two midterm examinations, each worth 10% of your course grade, will be given in class on Friday, September 25 and Friday, November 6. Midterm #1 will cover the first five weeks of class, while midterm #2 will cover the second five weeks of class. A study guide will be posted to the course WebCT site one week prior to each exam.You will be allowed to use a "cheat sheet": one side of a page whose dimensions may not exceed 8-1/2" by 5-1/2".
Final exam (20%). Both a final programming exam (worth 12%) and a written final exam (worth 8%) will be given. The final programming exam will be given in lab during the last week of labs (the last week of class), while the written final exam will be given during the regular final exam period (NOTE CHANGE: Tuesday, December 15 from 7:00 to 9:00 p.m.). For final programming exam, you will be given three hours to solve a programming problem using only your textbook, the MSDN, and teh Visual Studio environment. The written final exam will consist of mostly multiple choice, true-false, and fill-in-the-blank questions that emphasize the concepts covered in the course. Both exams will be comprehensive, with an emphasis on the final five weeks of the course. A study guide will be posted to the course website and WebCT one week prior to the exam; a review session dedicated to preparing for this exam will be held the last day of class. You will be allowed to use a "cheat sheet": one side of a page whose dimensions may not exceed 8-1/2" by 5-1/2".
Letter grades will be assigned according to the following grading scale. While I do not generally grade on a curve, I occasionally opt to establish a curve for an exam if the results indicate that the exam may not have been fair.
| Letter Grade | Overall % |
| A | 90 - 100 |
| A- | 88 - 89.99 |
| B+ | 85 - 87,99 |
| B | 80 - 84.99 |
| B- | 77 - 79.99 |
| C+ | 75 - 76.99 |
| C | 70 - 74.99 |
| C- | 67 - 69.99 |
| D+ | 65 - 66.99 |
| D | 60 - 64.99 |
| D- | 57 - 59.99 |
| F | 0 - 56.99 |
Please familiarize yourself with the following course policies. By following them, you will get the most out of this course, and you will not encounter any unwelcome surprises down the road.
Keeping up with the course in OSBLE. Participation in this course fundamentally entails logging into OSBLE on a regular basis. I expect you to log in three to four times per week, and to read the notices posted on the course home page. These notices provide essential, up-to-date information on the courseinformation that you absolutely need to know in order to succeed in the course.
Checking assignment due dates. Assignment due dates can be viewed through OSBLE; they are also integrated into the course schedule page. In general, programming assignments are due at 5 p.m. on the due date, while labs are always due at the beginning of the lab session. If a due date changes, the change will be noted in an announcement, and the deadline in OSBLE and on the schedule will be updated accordingly.
Checking your grades.
Your TA will maintain an online gradebook. Please check with your TA for
the link. Roughly every week, your TA will update your grades, including
your current overall percentage and letter grade. Your TA will do his/her
best to record your grades accurately. Please check the on-line gradebook
regularly to ensure that your grades have been entered properly, and please
let your TA know as soon as possible if you detect an error.
Challenging a grade. If you believe that your TA has made a mistake in grading an assignment, you have one week (from the time your grade is first posted to the gradebook) to e-mail your TA about the matter. Students have often attempted to bargain for points well after their grades have been postedoften near the end of the semester, when they realized that they needed more points to obtain a certain grade. Please do NOT attempt to do this!
Late policy for assignments. Assignments are due by the established due dates and times (see schedule). You may hand in a lab or programming assignment up to two days late (the weekend counts as one day), at a penalty of 10% per 24 hours late. Forty eight hours after the an assignment or lab is due, you may no longer hand in the assignment or lab for credit. At that time, the link to the solution key for the assignment, if available, will become "live" on the master "schedule" page.
second violationa grade of "F" for the course, and a referral to the dean of students;
It goes without saying that you may not cheat on the assignments and exam. This means that the work must be solely your own (or that of your group), and that all outside sources must be properly cited. If we catch you cheating, the minimum penalty will be a 0 on the assignment or exam. Repeat offenses will result in a grade of "F" in the course, and a referral to the Director of the School of EECS. Please see the EECS Academic Integrity Policy for further details.