Syllabus for CSCI 3308 - Fall Semester, 2006

Instructor Ken Anderson
E-Mail kena@cs.colorado.edu
Website http://www.cs.colorado.edu/~kena/
Office Hours MF 11 AM — 12 PM, ECOT 822
Lecture MF 10 AM — 10:50 AM, ECCR 1B51
   
TA Christian Doerr
E-Mail: Christian.Doerr@colorado.edu
Labs: Wednesday and Thursday, all lab sections

Course Goals

At the successful completion of this course a student should:

  1. Understand the principles behind software engineering, and appreciate why people spend extra effort on software engineering tasks.

  2. Have a working knowledge of common software engineering methods.

  3. Be sufficiently prepared to begin a career as a professional software engineer.

  4. Have comprehensive knowledge of a set of useful UNIX tools.

Textbooks

The course shall make use of two textbooks. “The Mythical Man-Month” by Fred Brooks is the primary textbook for the class. Readings in this book will be assigned on a near weekly basis. The material will be discussed in class and will appear on exams and homeworks. “Unix Shells by Example” by Ellie Quigley is meant to help prepare students for the weekly lab sections. It contains detailed information on the bash shell and on some of the Unix tools we will be using this semester. Students should read chapters 13 and 14 of this book and be prepared to answer questions on this material on homeworks, quizzes, and exams. Students are expected to use this book as a reference guide throughout the semester.

Course Content

The class website is located at <http://www.cs.colorado.edu/~kena/classes/3308/f06/>. It will serve as the primary source of information about the class and students should visit it at least once per day throughout the semester.

Each week of the course there will be a homework, a lab, and a quiz. The homework will be handed out on Friday and is due at the beginning of your next lab. In general, a homework assignment will introduce the topic covered by the following lab, so take the time to get it done before you come to lab. The labs are instructional tutorials where you experiment with and learn about some tool or technique. In the lab, you and a partner typically will work through a lab worksheet and turn it in before the end of lab. Some labs will span two weeks of class time and for those labs you will turn in the worksheet at the end of the second week. There will be a quiz every Friday covering the material of the most recent homework, lab, and lectures.

The midterm exam will be a fifty minute in-class exam on Monday, October 16th. It will cover primarily the material presented in lectures, but can include questions on the material contained in the labs, homeworks, and quizzes.

The class will also include a software engineering simulation, known as the testing notebook, which will be integrated into the normal lab sections. You and your lab partner will act as a tester and debugger for a program under development. You do not have to write the program; instead, you will attempt to discover the bugs contained within it via a formalized testing process. The testing notebook will span approximately four weeks of class time.

Finally, there will also be a cumulative in-class final similar in format to the midterm. The final will take place on Wednesday, Dec. 20th from 1:30 PM — 4:00 PM.

Grading

Points are allocated as follows

Homeworks 10 points each
Labs 50 points each
Quizzes 10 points each
Midterm 100 points
Final 200 points

At the end of the semester, letter grades will be assigned to the point scores based on 90-100% = A, 80-90% = B, etc. However the cutoff points between grades may change to curve the results slightly. To select the cutoffs, we will look for groups of similar grades with relatively large gaps between the groups. Typically, the curve is very slight in this class.

Formative vs. Evaluative

There is a debate in educational circles over the proper use of both formative and evaluative feedback techniques. Formative feedback is that which helps students learn by pointing out what they did well or poorly. Evaluative feedback is for the teacher to judge what the student has learned. For example, labs are a formative instrument so after you do a lab you should know more than what you knew before. Quizzes and exams, on the other hand, are an evaluative instrument. The purpose of a quiz is for me to find out how much you learned. You probably won't learn anything from taking a quiz. Finally, homeworks will be more formative than evaluative.

Because each type of assignment has a different purpose each has different grading policies. Exams, quizzes, and homeworks will have questions labeled with points. Partial credit might be available. However, the homeworks are more formative because it will be the first time you see the material. Therefore, students are allowed to work together on the homeworks. Warning: If you just copy answers from someone else without understanding them you are only hurting yourself. Remember, the quizzes, midterm, and final together are worth much more than the homeworks.

Homeworks will typically be submitted via the class moodle (see the first homework for details) and must be received by the beginning of your lab section. Any homework received after that will be considered late, and will be penalized 20%.

Quizzes will either be given at the end of lecture on Friday or held on-line via the moodle. If a student cannot attend a particular Friday lecture they must contact their instructor to arrange to take the quiz before Friday. Missed quizzes cannot be taken late unless the student provides evidence of an emergency situation that prevented the student from attending lecture. If a quiz is held on-line, then it will be available on the moodle directly after class and will remain available until just before midnight that same day.

Labs are the most formative instrument, and as such have very flexible grading policies. You and a lab partner will work together on labs. Labs will have questions, but not labeled with points. If you turn in a completed lab, and your work and answers are of high quality you will receive a 50. If your lab is complete, but your answers are incorrect then points will be taken off. If you turn in an incomplete lab, substantial points will be taken off. Labs will clearly indicate when they are due and you will typically submit everything that you create for a lab in a single zip file that you will upload to the class moodle. Any lab received after the due date will be penalized 20%.

Late Policy

Homeworks and labs can be handed in late up to two weeks after the initial due date. (After that, you are out of luck.) A late penalty of 20% will be assessed, so the maximum score you can receive on a late homework is 8 points while on a lab the maximum score would be 40 points.

Quizzes and exams cannot be turned in late for obvious reasons. As mentioned above, and covered in more detail below, if you have to miss an exam or a quiz, you must contact Dr. Anderson before the test. He will then work with you to schedule a make-up test.

Honor Code

The Student Honor Code applies to classes in all CU schools and colleges. You can learn about the honor code at <http://www.colorado.edu/academics/honorcode/>.

The honor code requires that I make explicit what constitutes plagiarism in this class. As mentioned above, students are allowed to work together on homeworks and labs. All other assignments must be your work alone.

If you have additional questions about what constitutes plagiarism in this class, please send mail to Dr. Anderson.

Students With Disabilities

Students with disabilities who qualify for academic accommodations must provide a letter from Disability Services (DS) and discuss specific needs with the professor, preferably during the first two weeks of class. DS determines accommodations based on documented disabilities. You can contact DS at 303-492-8671 or get more information at <http://www.colorado.edu/disabilityservices/>.

Observance of Religious Holidays and Absences from Classes and/or Exams

If you must miss class or a scheduled exam due to the observance of a religious holiday, please contact Dr. Anderson at least two weeks before the holiday.

Classroom Behavior Policy

The University has adopted a classroom behavior policy. You can read this policy, among others, in the Student Policies section of <http://www.colorado.edu/policies/index.html>.