|
|
Department of Computer Science |
||||
|
|
|||||
Course Objectives:
CS 158 introduces the tools of software development that have become valuable for creative problem solving in Science and Engineering. We believe that it is important for future professionals to be able to function as part of a technical team and will require students to work in assigned teams for all lab assignments. Educational research informs us that structured collaboration leads to increased learning gains for students participating in an introductory programming course.
Collaboration is a requirement of the course. You will be assigned to your teams by your lab instructor.
Pre-requisites/Preparation:
The University asks students to place 2-3 hours outside of class per week in preparation for each credit hour of a course. The key to success in this course requires preparation and taking initiative. The most successful students in previous offerings of CS 158 report habits such as reading the text, attending every lecture, and daily code writing that goes beyond the minimum of completing assignments.
|
Instructor: William Crum Office Location: HAAS G-26 |
Instructor Office Hours (HAAS G-26):
|
Additional TA Office Hours (HAAS G-24):
|
|
|
||
| Midterm Exam #1 | Midterm Exam #2 | Final Exam | Academic Calendar |
|
Date: Thursday October 8th, 6:30 pm |
Date: Tuesday November 17th, 6:30 pm Location: STEW Loeb Playhouse (Seats Assigned) |
Date and Location: TBA |
Last Day to Drop Monday October 28th 2009! |
Blackboard:
All relevant class information, updates, and announcements will be available on the CS 158 Blackboard site. Regular announcements will be posted on the "message of the day" which is visible when you log into your UNIX account. It is expected that you check both frequently for updates.
In the event of a major campus emergency, course requirements, deadlines, and grading percentages are subject to changes that may be necessitated by a revised semester calendar or other circumstances.
Course Required Materials:
Assignments:
Lab Assignments (12 total, 5 points each):
A majority of the lab assignments are to be completed collaboratively in your assigned lab groups and each of these lab assignments will be due 30 minutes prior to your next lab meeting.
Lab Quizzes (12 total, 5 points each):
At the end of every lab there will be an individual assessment of your knowledge related to the topics implemented in the most recent assignments. Knowledge of course standards and good programming practices will be evaluated throughout the semester.
Homework Assignments (7 total, 5 points each):
|
|
Homework Assignment |
Due at 11pm on |
|
1 |
September 7 |
|
|
2 |
September 21 |
|
|
3 |
October 5 |
|
|
4 |
October 19 |
|
|
5 |
November 2 |
|
|
6 |
November 16 |
|
|
7 |
November 30 |
Lecture Quiz (50 total points and will be scaled to 50 if the total number of quiz points exceeds 50):
Dates of in-lecture quizzes will not be made known in advance. Quizzes may take place at the start of lecture, in the middle, and/or at the end of lecture.
CPS eInstruction response pads are required to participate in lecture quizzes. You should bring your response pad to every lecture. Should your pad fail, or if you forget your pad, you may submit a written quiz using the form found in the back of your notes packet. You may only utilize this method once during the semester. Only the form provided in the current version of the packet will be accepted.
See the academic integrity policies regarding the misrepresentation of identity as it relates to taking a lecture quiz for another student.
Exams (two midterms 100 points each, one final exam 150 points):
Exams will be individual assessments of your knowledge. Exams will be all multiple choice problems. You will notice from the point distribution of the course that we feel being competent on exams is very important. You need to be able to communicate intelligently with others, including supervisors, on this topic without needing to be in front of a computer to demonstrate what you know.
Lecture Policies:
You are expected to arrive to lecture on time and to remain attentive. Disruptive students will be excused from lecture and asked to meet with course staff before returning to class. Please silence your cell phone during lecture.
For the fall 2009 semester lecture seats will be assigned. Check Blackboard for your seat assignment starting the second week of classes. Failing to sit in your assigned seat will result in a zero for the lecture quiz.
Lab Policies:
CS 158 labs will meet weekly (see lab schedule). You are expected to attend and to participate in every lab this semester. All lab assignments (as described previously) will be completed in collaborative teams assigned by your lab instructor. These lab assignments will be due 30 minutes before the start of your next lab and may require that your team meet outside of lab to complete the assignment.
Because of our use of teaming, no points will be given to a student who is absent from, or late arriving to, a lab. If you are going to have a regular conflict with your lab time, please change sections.
You must bring your books and notes to every lab.
| Assignment | Points |
| Homework |
35 |
| Lab Tasks |
60 |
| Midterms |
200 |
| Final |
150 |
| Lecture Quizzes |
50 |
| Lab Quizzes |
60 |
|
Total: |
555 |
Grades:
| Grade | Points Required |
|
A |
470 |
|
B |
415 |
|
C |
360 |
|
D |
305 |
|
|
To request a re-grade on any assignment you must formally make your request in writing to the instructor during office hours. You have five days to appeal any grade from the day the assignment is returned to you. After that period the grades are frozen and no appeal will be considered.
A re-grade request must include the following:
Absences:
Only documented serious hardships will be considered for any make-up work.
If you have documentation of what you consider to be a serious hardship then you should contact the instructor in a timely manner during office hours. Any student who knows in advance of a coming absence must make a request for consideration one week prior to the planned absence.
Important Assignment Guidelines:
All assignments must abide by the programming and documentation standards of the course. In ALL cases no credit will be given for programs that do not compile (that is, execution is suppressed due to compilation errors). Programs that execute and meet minimum assignment requirements but are not correct or complete will be considered for partial credit. To receive full credit, your program must produce correct results, be well-designed, be efficient, follow assignment requirements, and adhere to course programming and documentation standards.
|
An assignment that is not submitted as expected cannot be considered for a grade. Only work submitted correctly prior to the assignment deadline can be considered for grading. Late work is not accepted. |
Resources and course staff may become heavily loaded as an assignment deadline nears. Waiting until the last minute to work on your project is dangerous! Our policy is NOT to extend deadlines unless campus resources (not your local ISP) are unavailable for an extended period near the deadline for an assignment.
ITaP’s Outage (scheduled and unscheduled) Notification
RSS Feed:
You are responsible for knowing how to use the technology utilized by the course, this includes but is not limited to UNIX and related course tools such as the assignment submission script.
|
Plan to submit work early! Allow sufficient time to seek assistance should you experience any difficulties with assignments or submitting an assignment. |
Collaborative Learning/Teaming/Participating as a Member of a Technical Team:
Here are our expectations of you and your group:
CS 158 applies very strict set of criteria regarding academic integrity and the consequences for violating course policies are serious.
You are encouraged to discuss any CS 158 topic including ideas about how to complete assignments. But, under no circumstances will exchange of code via written or electronic means be permitted between teams for collaborative assignments or individuals for individual assignments. It is considered dishonest either to read another team's solution or to provide anyone with a copy of your work. Be very careful when working with others on individual assignments as this is generally discouraged. The work you submit must be your own original effort.
|
When is it no longer acceptable to discuss an assignment with another student or someone not from my group? Discussions with peers are most appropriate during the early phases of solution development. Once you begin to implement your solution or have constructed detailed flowcharts or structure charts you should be referencing course staff members exclusively for assistance. |
Every student is responsible for protecting his/her own work. Do not make the assumption that roommates, neighbors, significant others, or other "trusted" individuals would not take advantage of knowing your password, having access to your computer (use a password protected screen saver, logout when done), or finding a stray copy of your work left on a printer. You are responsible for such events that leave your work unprotected.
Do not make the mistake of thinking that superficial changes in a program (such as altering comments, changing variable names, or interchanging statements) will avoid detection. If you cannot do the work yourself, it is extremely unlikely that you will succeed in disguising someone else's work as your own. We are adamant that violations in any form will not be tolerated. Even the most trivial assignment is better not done than if you violate course integrity policies to complete it.
Assume that every submission you make during the semester will be analyzed by a software similarity service. This service will return the percentage of similarity between your solution and those submitted by others in the course. The service indicates the number of lines matched. You will be solving problems this semester that have no unique solution and your solution is expected to be uniquely yours. Concerns regarding any of our policies should be addressed during office hours.
|
The software service utilized is not for profit. The service does not retain your file. The course will retain your files for the purpose of record keeping for the current semester and may retain your files for similarity comparisons in future semesters. |
Minimum consequences for violating course policies will include:
Exceptions to the minimum consequences:
|
CS 158 Lab Schedule
|
|
| Week of | Lab Assignment |
| August 24 | Lab #0 |
| August 31 | Lab #1 |
| September 7 | Lab #2 |
| September 14 | Lab #3 |
| September 21 | Lab #4 |
| September 28 | Lab #5 |
| October 5 | Lab #6 |
| October 12 | OPEN |
| October 19 | Lab #7 |
| October 26 | Lab #8 |
| November 2 | Lab #9 |
| November 9 | Lab #10 |
| November 16 | Lab #11 |
| November 23 | Thanksgiving Break |
| November 30 | Lab #12 |
| December 7 | OPEN |
|
CS 158 Topic Schedule
|
||
| Week of | Tuesday | Thursday |
| August 24 | Introduction | UNIX |
| August 31 | Chapter 1 - Intro to Programming | Chapter 1 - Intro to Programming |
| September 7 | Chapter 2 - Intro to the C Language | Chapter 3 - Structure of a C Program |
| September 14 | Chapter 3 - Structure of a C Program | Introduction to Structured Programming |
| September 21 | Introduction to Structured Programming | Chapter 4 - User-Defined Functions |
| September 28 | Chapter 4 - User-Defined Functions | Chapter 4 - User-Defined Functions |
| October 5 | Chapter 4 - User-Defined Functions | NO
LECTURE - Compensation for October 8th Evening Exam |
| October 12 | October Break | Chapter 5 - Selection |
| October 19 | Chapter 5 - Selection | Chapter 6 - Repetition |
| October 26 | Chapter 6 - Repetition | Chapter 6 - Repetition |
| November 2 | Chapter 7 - File I/O | Chapter 7 - File I/O |
| November 9 | Chapter 8 - Arrays | Chapter 8 - Arrays |
| November 16 | Chapter 8 - Arrays | NO LECTURE -
Compensation for November 17th Evening Exam |
| November 23 | Thanksgiving Break | |
| November 30 | Chapter 11 - Strings | Chapter 11 - Strings |
| December 7 | Chapter 9/10 - Pointers | Chapter 9/10 - Pointers |
| December 14 | Final Exam Week | |
Course Syllabus Subject to Change with Notice