Purdue University

Department of Computer Science

 
CS 159Y
- Programming Applications for Engineers, Summer 2012
Distance Education Offering
 

 
Office Hours
 

Exam Dates

HW Due Dates

Grading

Regrade Requests

Schedules

Course Objectives:

CS 159 introduces the tools of software development that have become essential for innovating and creative problem solving in Engineering. Educators and employers agree that it is important for future Engineering professionals to be able to function as part of a technical team and CS 159 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 159 explores programming concepts in computing environments that are new to most students and will require implementation of solutions in more than one programming language. Our goals are for you to recognize how programming concepts are common to a variety of programming languages and how those fundamental concepts can be used to solve a problem.

Pre-requisites/Preparation:

The University expects students to place 4-6 hours outside of class per week (for an eight-week session) in preparation for each credit hour of a course. It is critical to being successful in this course that you invest in preparation. The most successful students in previous offerings of CS 159 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 11:00 - 12:00Tuesday 1:30 - 2:30
  • Wednesday 11:00 - 12:00
  • Thursday 1:30 - 2:30
How best to contact the instructor:

Course Required Materials:

Important Dates:

Midterm Exam Final Exam Academic Calendar

Dates/Times Available: 
July 5th, 2012 12:00pm -
July 6th, 2012 5:00pm

Dates/Times Available: 
August 1st, 2012 12:00pm -
August 2nd, 2012 5:00pm

Last Day to Drop

Wednesday July 11, 2012

Blackboard Vista:

All relevant class information, updates, and announcements will be available on the CS 159 Blackboard site.

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.

Assignments:

Lab Assignments (12 total, 5 points each):

Lab assignments are to be completed collaboratively in your assigned lab groups and every lab assignment this semester will be due at 11:00pm on Wednesdays and Fridays this summer.

Lab Quizzes (12 total, 5 points each):

Before each lab is due you will complete an individual assessment of your knowledge relating to the topics implemented in the lab assignment.  The best way to preparefor lab quizzes is to actively participate with your team during the development of the lab solution.  You are advised not to attempt the lab quiz until your group has submitted the final lab assignment effort.  Each lab quiz will be time limited (10 minutes) and questions will vary from multiple-choice to small code writing problems.  You will not be able to revisit a lab quiz question and only have one attempt to save and submit an answer for grading.  Lab quizzes questions will be representative of the type of questions you will encounter on the midterm and final exam and can serve as an indicator of how you are progressing in the course.

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

June 18

2

June 25

3

July 2

4

July 9

5

July 16

6

July 23

7

July 30

Discussion Leading and Participation (25 total points, due on Thursdays):

Every student will be assigned to a discussion group. Groups will be composed of 4 or 5 students. Each student will be asked to respond to several questions or to solve problems based on the current topic of the course. Group members will be required to review and revise the answers/responses given by other students in the group. The goal with each discussion is to encourage regular course participation and to provide each student with a good set of notes that can be used in assignment and exam preparation. The discussion document will be posted on Google Docs and you will be invited to collaborate by the instructor through your Purdue e-mail address. Register for your Purdue University related Google account here: https://www.google.com/a/purdue.edu/

Discussion
Assignment

Due at 11pm on

1

June 21

2

June 28

3

July 12

4

July 19

5

July 26

Exams (one midterm 100 points, one final exam 150 points):

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

Grading:

Assignment Points
Homework

35

Lab Tasks

60

Discussion Assignments

25

Midterm Exam

100

Final Exam

150

Lab Quizzes

60

Total:

430

Grades:
 

Grade Points Required

A

365

B

325

C

285

D

245


It is my expectation that your assignments be evaluated in a timely manner and that you are provided with adequate feedback.  Typically, you should receive returned assignments 4-6 days after a given assignment is due.

Re-grade Request Policy:

To request a regrade on any assignment you must formally make your request in writing to the instructor (via e-mail). 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 regrade 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. 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) or are un-testable (MATLAB). 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 complete significant work on any assignment is not recommended! 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.

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 159 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 159 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 on such assignments 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, will result in highly similar work due to what becomes collaboration. 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 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.


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

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

Here are our expectations of you and your group:

  1. Make time to communicate with your group regularly.  There are 168 hours in a week, finding some common time for two or three people to communicate should not be a difficult task.
  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 aspire for the strongest grade possible.
  4. Each group member must fully understand the entire assignment submitted.  Do not start your group efforts by trying to delegate the tasks to the different group members.  Everyone must understand and contribute to every aspect of the assignment development process.
  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 each group will submit the lab assignments.  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 at an internship or co-op experience.

Schedules:

 

CS 159 Lab Schedule
All assignments due at 11pm on date listed below.
 

Week of Wednesday Friday

How are lab partners assigned?

Groups are typically composed of students who are in similar geographical locations.

An effort is made to include students of various programming backgrounds in a group.

June 11 Lab #0 Lab #1
June 18 Lab #2 Lab #3
June 25 Lab #4 Lab #5
July 2 Lab #6
July 9 Lab #7 Lab #8
July 16 Lab #9 Lab #10
July 23 Lab #11 Lab #12

CS 159 Topic Schedule

All reading is a reference to the Gilberg/Forouzan text

Week of Monday Tuesday Wednesday Thursday
June 11 UNIX Chapter 1 & 2 Chapter 2
June 18 Chapter 2 & 3 Chapter 3 Chapter 4
June 25 Chapter 4 Chapter 5
July 2 Chapter 5 Midterm Exam
July 9 Chapter 6
July 16 MATLAB File I/O Chapter 8
July 23 Chapter 8 Chapter 11
July 30 Chapter 9/10 Final Exam

Course Syllabus Subject to Change with Notice

Last Modified: Wednesday, May 23, 2012 2:00 PM

Course Syllabus Subject to Change with Notice