Syllabus: CS 1581 Honors Computer Science I


Course Web Page

Term Schedule

Course Content and Objectives

This course is an introduction to computer science, focusing on the disciplines of procedural and data abstraction. It is intended for higher ability students, but it does not require experience with any particular kind of computer or programming language. It does require a minimum level of mathematical sophistication. The course satisfies the Liberal Education category 3 requirement.

This course is designed to be an introduction to the science of problem solving through the writing of computer programs. Students will become familiar with multiple computer programming paradigms, including functional, imperative, and object-oriented programming. Programming will be undertaken using the powerful, elegant, and high-level language Scheme. (The version of Scheme we will use is called Racket.) Scheme is simple to learn and helps students learn the principles of procedural and data abstraction that they will carry throughout their programming careers.

Grading Basis

Grades will be based on the total points earned on exams, programming assignments, and lab activities. These points are broken down as follows:

item number points each total
Midterm Exam 2 75 150
Final Exam 1 150 150
Individual Assignment 4 25 100
Lab Exercises 8 10 80
Extended Lab Exercises 5 15 75
Grand Total 555


The final grades will be based on the 555 point total. Generally:

90% guarantees an A
80% guarantees a B
70% guarantees a C
60% guarantees a D

These grade cutoffs will never be raised; but they may be lowered. Your grades will always be available through the EGradebook System.

Course Organization

We will meet in lecture on Mon-Wed-Fri in MWAH 175, when new material will be presented. Accompanying readings from the text will be indicated on the term schedule.

We will meet in lab on Tuesdays (MWAH 177), where you will perform lab exercises and/or work on individual assignments. On Thursdays we will meet in a discussion section (MWAH 175) which will be run like a lecture except that labs, assignments, and exams will also be discussed.

Labs and Assignments

The Tuesday lab exercises will be posted on the term schedule several days before they are due. It is expected that you will read through the exercise and perhaps get a start on it before the lab hour begins. For labs 1—8, you will have until 8:00 p.m. on the day of the lab to submit your exercise through the Webdrop System. Labs 9—13 are extended exercises and are due later in the week they are assigned. See the term schedule.

The individual assignments will be more involved than the lab exercises, and you are expected to work on them on your own time, although we will take questions concerning them during labs and discussions. These assignments will also be posted on the term schedule and must be submitted through Webdrop.

Exams

Exams will cover all lecture and reading material. Exam dates, coverage, and topics are also given on the term schedule. Exams must be taken on the hour they are scheduled. They will not be given early, and can be made up only if documented evidence of medical emergency or death in the family is presented before the time of the exam.

Development Environment

The development environment assumed by labs and assignments will be DrRacket (formerly DrScheme). This environment will be available on lab PCs, but you may also install it on your own machines. The environment is free and open source.

Late Submissions

Lab exercises and individual assignments must be turned in through Webdrop by 8:00 p.m. the days they are due. Ample time is given to complete these labs and assignments, and the only reason for being late will be poor time management. Therefore, 20% of the total value of an assignment will be deducted for each day it fails to be turned in by 8:00 p.m.

Collaboration and Academic Dishonesty

There are no team projects in this course. All lab exercises, assignments, and exam takings are individual undertakings. You may discuss an assignment and general approaches to a problem with your professor, your lab instructor, lab consultants, or your classmates, but you must design your program and write the code yourself. You may consult with others about your design or seek help in debugging, but you may not collaborate with anyone on the writing of your code. Any such collaboration will be regarded as academic dishonesty, a serious offense. This course will adhere to UMD's Student Academic Integrity Policy, which can be found at http://www.d.umn.edu/assl/conduct/integrity. This policy sanctions students engaging in academic dishonesty with penalties up to and including expulsion from the university for repeat offenders.

Inappropriate Use of Technology in the Classroom

You must refrain from using cell phones, text-messaging, watching videos, playing computer games, doing email, or surfing the Internet on your computer for uses other than instructor-sanctioned activities.

Permission to Copy Your Work

As you may know, the Department of Computer Science has an ABET-accredited bachelor's degree in CS. This is an indication of the strength of our program, and it benefits CS majors and even non-majors by allowing us to provide strong course offerings.

In order to retain accreditation, we must periodically collect samples of student work for each of the courses. To that end, I would like your permission to anonymously copy samples of your work in this course. This will be done by eliminating all identification such as names, ID's, etc. before copying the work. This is voluntary. In the past almost all students have agreed to this, which has been a key factor in retaining accreditation.

If you do not want your work copied for this purpose, please send me an email to that effect.

Thank you for helping with this; it is very much appreciated.

Etc.

Last Word

All excellent things are as difficult as they are rare. -- Benedict Spinoza

Page URL: http://www.d.umn.edu /~tcolburn/cs1581/syllabus.html
Page Author: Tim Colburn
Last Modified: Tuesday, 14-Sep-2010 13:12:40 CDT
Comments to: tcolburn@d.umn.edu