|
Department of Computer Science |
||||
|
|||||
Course Objectives:
CS 159 introduces the tools of software development that have become essential for creative problem solving in Engineering. We believe that it is important for future Engineering professionals to be able to function as part of a technical team and 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.
Collaboration is a requirement of the course. You will be assigned to your teams by your lab instructor.
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 concepts can be used to solve a problem.
Pre-requisites/Preparation:
The University asks students to place 4-6 hours outside of class per week (8-week summer session) 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 159 report habits such as reading the text, attending every lecture, and daily code writing that goes beyond the minimum of completing assignments.
CS 159 does have a co-requisite of MA 161/165 and ENGR 132. Authorized equivalent courses or consent of instructor may be used in satisfying the course co-requisite.
What do the co-requisites mean? In terms of math we assume that you are familiar with Algebra and Trigonometry. ENGR 132 as a co-requisite would imply that you are (1) enrolled in a course that will expose you to the fundamentals of MATLAB or (2) have had some previous programming experience in a language such as C, C++, or JAVA. Most students in CS 159 will be enrolled ENGR 132 and will be introduced to writing programs in MATLAB using selection and repetition programming constructs.
Instructor: William Crum Office Location: HAAS G-26 |
Instructor Office Hours (HAAS G-26):
|
Lab Instructors:
|
Please visit during office hours for any administrative concerns regarding the course.
Note that the phone number and e-mail address of the instructor are not listed above. If you have a concern that is of importance to you it is expected that you make the effort to visit office hours.
Midterm Exam | Final Exam | Academic Calendar |
Date: Friday July 8th. |
Date and Location: TBA |
Last Day to Drop Wednesday July 13, 2011 |
Please make your travel arrangements accordingly. The final exam may be on Friday August 5th. The official day/time of the final should be announced during the second week of the term. Requests for alternative exam offerings will not be considered for reasons not outlined by the regulations of the university.
Blackboard:
All relevant class
information, updates, and announcements will be available on the CS 159
Blackboard site. A Google calendar and twitter feed is also available on
Blackboard. 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.
In case of campus emergency, check Blackboard, do not email or call course staff.
The instructor reserves the right to revise the syllabus with notice.
Course Required Materials:
Computer Science, A Structured Programming Approach Using C, Forouzan and Gilberg, THIRD EDITION, ISBN: 0-534-49132-4
Programming Applications for Engineers Course Packet (Spring 2011 edition)
OPTIONAL, MATLAB for Engineers, Moore (second edition), ISBN: 0-13-60442-20
iClicker response pad
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 assignments will be due 30 minutes prior to your next lab meeting.
Collaborative groups are expected to communicate who will submit the assignment and how successful submission will be confirmed with all participating group members.
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.
The best way to prepare for lab quizzes is to actively participate with your team during the lab session.
Homework Assignments (7 total, 5 points each):
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 20 |
|
2 |
June 27 |
|
3 |
July 4 |
|
4 |
July 11 |
|
5 |
July 18 |
|
6 |
July 25 |
|
7 |
August 1 |
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. 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 course notes packet will be accepted.
Please review the academic integrity policies regarding the misrepresentation of identity as it relates to taking a lecture quiz for another student.
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. 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 23 |
2 |
June 30 |
3 |
July 14 |
4 |
July 21 |
5 |
July 28 |
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. 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. Lecture seats will be assigned by section and group. Check Blackboard for your seat assignment.
Lab Policies:
CS 159 labs will meet twice a week (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.
Any student missing more than two labs (unexcused) will receive a failing grade for the course. We feel that you must be present in lab as you are expected to function as part of a team. Secondly, you are receiving one credit (of the three for the course) based on the laboratory component of the course.
Assignment | Points |
Homework |
35 |
Lab Tasks |
60 |
Discussion Assignments |
25 |
Midterm |
100 |
Final |
150 |
Lecture Quizzes |
50 |
Lab Quizzes |
60 |
Total: |
480 |
Grades:
Grade | Points Required |
A |
405 |
B |
360 |
C |
315 |
D |
270 |
An equivalent number of points to earn a C are needed to receive a Pass if taking the course Pass/No Pass. It is recommended that graduate students in the course elect this option (see your advisor).
The instructor reserves the right to lower the minimum score required for each letter grade. If such a move is made it will not be announced until after the final exam. At no time during the semester will it be speculated on if this will be done or "how much" any given cutoff will be lowered. You should have no expectation that all cutoffs if moved will be moved by an equal amount.
If you want to guarantee yourself a letter grade then earn more points than required as listed above.
|
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:
The originally graded assignment that was returned to you (if applicable).
The reason you feel a re-grade is warranted. (What do you feel was overlooked in the original evaluation of your work?)
Note: A re-grade isn't a second chance to complete an assignment. It isn't a means to challenge posted policies, such as the acceptance of late work or the submission of un-testable work.
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.
University policies on absence and absence reporting are available here: http://tinyurl.com/classabsence
Do not expect assignment deadlines to be altered for reason of personal travel or vacation.
Make-up requests for reasons of illness MUST be accompanied by a physician’s note stating the dates you were under their professional care and the date you were cleared to return to school/work.
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 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:
http://www.itap.purdue.edu/web/infrastructure/operations/change/unscheduled/unscheduled_RSS.xml
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.
|
Collaborative Learning/Teaming/Participating as a Member of a Technical Team:
Here are our expectations of you and your group:
Make time to meet with your group regularly. There are 168 hours in a week, finding some common time for two or three people to meet should not be that difficult. It is acceptable for just part of the group to meet some of the time if everyone cannot attend every meeting. It is up to each individual to plan their contribution to the group effort accordingly.
A group may exclude the name of a member from the lab assignment header as a means of indicating a lack of satisfactory contribution to the group assignment.
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.
When a group member becomes unresponsive to requests to meet or to update the other members of the group then those contributing members must continue without unresponsive member.
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.
Likewise, each group member must be satisfied with your contribution to the group effort.
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.
Assignments are an opportunity for you to demonstrate your knowledge of the topic. Additionally, an assignment can be a measure of what you don't know.
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.
All groups are encourage to exchange that work which was developed in lab before leaving. Should a group member be unresponsive outside of class the remaining group members can proceed without starting over.
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.
Groups will be re-assigned after every four labs.
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 generally
discouraged. The work you submit must be your own original effort.
|
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.
|
Minimum consequences for violating course policies will include:
First offense, a zero for the assignment, a reduction of one letter grade at the end of the semester, AND a referral to the Office of the Dean of Students for disciplinary action.
Second offense, a zero for the assignment, a failing grade for the course, AND a referral to the Office of the Dean of Students for disciplinary action.
Penalties for being found in violation from the Office of the Dean of Students will typically range from disciplinary probation, to probated suspension, to dismissal from the University.
Exceptions to the minimum consequences:
Any violation on an exam will result in a failing grade for the course and a Dean of Students referral.
Acts such as a misrepresentation of identity will result in a failing grade for the course and a Dean of Students referral. (This includes lecture quizzes.)
CS 159 Lab Schedule
|
||
Week of | Tuesday | Thursday |
June 13 | Lab #0 | Lab #1 |
June 20 | Lab #2 | Lab #3 |
June 27 | Lab #4 | Lab #5 |
July 4 | Lab #6 | OPEN |
July 11 | Lab #7 | Lab #8 |
July 18 | Lab #9 | Lab #10 |
July 25 | Lab #11 | Lab #12 |
August 1 | OPEN | NO LAB |
CS 159 Topic Schedule |
||||
Week of | Tuesday | Wednesday | Thursday | Friday |
June 13 | Introduction | UNIX and Chapter1 |
Chapter 1 & 2 |
Chapter 2 |
June 20 | Chapter 2 & 3 | Chapter 3 | Chapter 4 | Chapter 4 |
June 27 | Chapter 4 | Chapter 4 | Problem Solving Techniques | Problem Solving Techniques |
July 4 | Chapter 5 | Chapter 5/6 | Chapter 6 | Midterm Exam |
July 11 | Chapter 6 | Chapter 6 | MATLAB File I/O | MATLAB File I/O |
July 18 | Chapter 8 | Chapter 8 | Chapter 8 | Chapter 8 |
July 25 | Chapter 11 | Chapter 11 | Chapter 9 & 10 | Chapter 9 & 10 |
August 1 | Chapter 9 & 10 | Final Exam Period |
Course Syllabus Subject to Change with Notice