Purdue University

Department of Computer Science

 
CS 158 - C Programming, Spring 2012

 

 
Office Hours
 

Exam Dates

HW Due Dates

Grading

Regrade Requests

Schedules

Course Objectives:

CS 158 introduces the tools of software development that have become essential for innovating and creative problem solving in the disciplines of Science and Engineering. Educators and employers agree that it is important for future professionals to be able to function as part of a technical team and CS 158 will require students to work in assigned teams for lab assignments. Educational research informs us that structured collaboration leads to increased learning gains for students participating in an introductory programming course.

CS 158 satisfies the College of Science Teamwork and Collaboration Experience degree requirement. The Principles portion of the Collaboration requirement must be fulfilled prior to enrolling in CS 158 or while concurrently taking CS 158. The SCI 210 course is an option for students attempting to complete both portions of this requirement during the same term. Please see your academic advisor for more information on this important degree requirement.

Pre-requisites/Preparation:

The University expects students to place 2-3 hours outside of class per week in preparation for each credit hour of a course. It is critical to being successful in this course that you investing in preparation and take initiative on assignments and review of course materials. The most successful students in previous offerings of CS 158 report habits such as reading the text, attending every lecture, reviewing material made available on-line, and daily code writing that goes beyond the minimum of completing assignments.

Course Staff:

Instructor: William Crum

Office Location: HAAS G-26

Instructor Office Hours (HAAS G-26):

Monday: 1:00 - 2:30pm
Tuesday: 10:00 - 11:30am
Thursday: 10:00 - 11:30am

Additional TA Office Hours (HAAS G-25):

Monday: 11:30am - 1:00pm
Friday: 12:00pm - 2:00pm


TA Evening Hours:
Sunday through Thursday 7:00pm - 9:00pm   Location: SC 189
 

Important Dates:

Midterm Exam #1 Midterm Exam #2 Final Exam Academic Calendar

Date: September 26, 2012
Time: 6:30 - 7:30pm

Location: STEW 183

Date: November 8, 2012
Time: 8:00 - 9:30pm

Location: STEW 183

Date: December 15, 2012
Time: 1:00 - 3:00pm

Location: Lambert Fieldhouse

Last Day to Drop:
October 24, 2012

Blackboard Learn:

All relevant class information, updates, and announcements will be available on the CS 158 Blackboard site. On Blackboard you will find a course Twitter feed which will be used regularly to send reminders, notices, and assignments hints related to the course. Regular reminders 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 necessitate a revised semester calendar or other circumstances.

Course Required Materials:

Assignments:

Lab Assignments (12 total, 5 points each):

Lab assignments are to be completed collaboratively in your assigned lab groups and each of these lab programming 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 introduced in lecture and implemented in current assignments. Knowledge of course standards and good programming practices will be evaluated throughout the semester.

Teaming Paper(1 total, 20 points):

End of term reflection paper related to your collaborative teaming experience in CS 158.

Homework Assignments(7 total, 5 points each):

 
The homework assignments are individual efforts designed to give you the opportunity to solve problems on your own without the assistance of other students.

All assignments will be posted on Blackboard 10-14 days before they are due.

Please review the course policies as they relate to academic integrity found later in this document.

Homework Assignment

Due at 11pm on

1

September 3

2

September 17

3

October 1

4

October 22

5

November 5

6

November 19

7

December 3

Lecture Quiz (50 total points possible): 

Dates of in-lecture quizzes will not be made known in advance; you should assume a quiz will take place at each and every lecture meeting. Quizzes may take place at the start of lecture, in the middle, and/or at the end of lecture.

iClicker response pads are required to participate in lecture quizzes. You should bring your response pad to every lecture. Your iClicker must be registered by visiting the course Blackboard site. Visit ITaP in HSEE Library if you cannot read your clicker’s serial number. Should your pad malfunction, or if you forget your pad, you may submit a written quiz using only 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 course notes packet will be accepted

Exams (two midterms 100 points each, one final exam 150 points):

Exams will be individual assessments of your knowledge. Exams will consist of multiple-choice problems covering concepts and the interpretation of code. Note from the point distribution of the course that we feel being successful on exams is very important.

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 resuming course activities. Please silence your cell phone during lecture.

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. 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.

Grading:

Assignment Points
Homework

35

Lab Tasks

60

Midterms

200

Final

150

Lecture Quizzes

50

Lab Quizzes

60

Teaming Paper

20

Total:

575

Grades:

Grade Points Required

A

485

B

430

C

375

D

320


Our expectation of your lab instructor is that he/she grades your assignment in a timely manner and provides you with adequate feedback. If you feel this is not the case please address your concern to your lab instructor and the lecturer of the course. Typically, your lab instructor should be returning assignments 4-6 days after a given assignment is due.
 

Re-grade Request Policy:

To request a re-grade on any assignment you must 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 as circumstance for any potential make-up of missed 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 when you are able to resume participating in class. Any student who knows in advance of an absence must make a request for consideration one week prior to the planned absence.

Important Assignment Guidelines:

All assignments must comply with the programming and documentation standards of the course. 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 will be in high demand with requests for assistance as an assignment deadline nears. Waiting until the last minute to work on your project is discouraged! Course 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.

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.
 

Academic Integrity:

CS 158 applies very strict set of criteria regarding academic integrity and the consequences for violating course policies are not worth the points lost by not completing the assignment.

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 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 (write code for) your solution or have constructed detailed flowcharts or structure charts you should be referencing course staff members exclusively for assistance.
  • Working closely with another student on a homework assignment, or students, may result in highly similar work due to what becomes a collaborative effort. Collaboration may not have been the intended approach to solving the problem but the end result of working closely with another student for extended periods of time.

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 copy of your work left in the open. You are responsible for circumstances 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.


As easy as it is to share an electronic copy of a file, to gain access to a file through account sharing, or sharing a hard copy of your work, it is as just as easy to analyze and detect such sharing as it results in similar efforts being submitted.
 

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. Additionally, the service indicates the number of lines matched among submissions. You will be solving problems this semester that have no unique solution and your solution is expected to be uniquely your own. Concerns regarding any of the academic integrity policies should be addressed during office hours.


The software similarity 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 for similarity comparisons in future semesters.
 

Minimum consequences for violating course policies will include:

Exceptions to the minimum consequences:

Collaborative Learning/Teaming/Participating as a Member of a Technical Team:

Here are our expectations of you and your group:

  1. Make time to meet with your group regularly. There are 168 hours in a week, finding a common time for two or three people to meet should not be difficult. It is acceptable for part of the group to meet some of the time if everyone cannot attend every meeting. It is the responsibility of each individual to plan their contribution to the group effort accordingly.
  2. Allow everyone an opportunity to express their ideas on how to approach an assignment. One benefit of collaborative teaming is that everyone brings a different idea to the group and the resulting effort should be a stronger one than if it was completed individually.
  3. All group members must be satisfied with the final submission. It is not acceptable for a group to submit an assignment that is not approved by all group members. "It is good enough" may be true for you but it is unfair for the others in the group who strive for the strongest grade possible.
  4. Each group member must fully understand the entire assignment submitted. Do not start your group meetings by trying to delegate the tasks to the different group members. Everyone must understand and contribute to every aspect of the assignment and its development.
  5. Designate who will turn in the assignment, when it will be turned in, and how successful submission will be communicated with the rest of the group. Only one person from the group will submit the assignment. Set a goal to submit the assignment well in advance of the due date to avoid any last minute problems related to group communication.
  6. You will work with the group assigned. There is no other option in this course. Please see us with concerns you may have with your group. Take a professional approach with your group experience as similar to what you may experience while participating in a professional experience.

Schedules:

 

CS 158 Lab Schedule

All assignments due 30 minutes before the next lab begins.
 

Week of Lab Assignment
August 20 Account Set-Up Exercises
August 27 Lab #1
September 3 Lab #2
September 10 Lab #3
September 17 Lab #4
September 24 Lab #5
October 1 Lab #6
October 8 October Break - No Lab
October 15 Lab #7
October 22 Lab #8
October 29 Lab #9
November 5 Lab #10
November 12 Lab #11
November 19 Thanksgiving Break - No Lab
November 26 Lab #12
December 3 OPEN
December 10 Finals Week - No Lab
 

CS 158 Topic Schedule
All reading is a reference to the Gilberg/Forouzan text

Last Revised - August 17, 2012
 

Week of Tuesday Sections Thursday Sections
August 20 Introduction UNIX and Chapter 1
August 27 Chapters 1 and 2 Chapter 2
September 3 Chapter 3 Chapter 3
September 10 Chapter 4 Chapter 4
September 17 Chapter 4 Chapter 4
September 24 Chapter 5 Chapter 5
October 1 Chapter 5 No lecture - midterm compensation
October 8 October Break Chapter 6
October 15 Chapter 6 Chapter 6
October 22 Chapter 6 Chapter 7
October 29 Chapter 7 Chapter 7
November 5 Chapter 8 Chapter 8
November 12 Chapter 8 Chapter 8
November 19 No lecture - midterm compensation Thanksgiving Break
November 26 Chapter 11 Chapter 11
December 3 Chapter 9 & 10 Chapter 9 & 10
December 10 Final Exam Week

Course Syllabus Subject to Change with Notice