CS 150 - Course Syllabus

Basic Info

2008 Spring Session
Mondays, Wednesdays, and Fridays, 10:00 - 10:50 am
Thornton E316

Instructor Information

Instructor: Prof. Mark Sherriff
Office: Olsson 228A
Office Hours: MWF, 1:00 - 3:00 pm
Phone: 982-2688
Email: sherriff(AT)cs.virginia.edu

Teaching Assistant: Kirti Chawla
Desk: 236D, Seat 4
Office Hours: Collab Calendar

Teaching Assistant: Meghan Knoll
Office Hours: Collab Calendar

Teaching Assistant: Oleg Krogius
Office Hours: Collab Calendar

Teaching Assistant: Dave Willett
Office Hours: Collab Calendar

Teaching Assistant: Ke Dang
Primary Text

Godel, Escher, Bach: an Eternal Golden Braid
Douglas R. Hofstadter
ISBN 978-465-02656-2

Course Description

The goal of this course is to teach students with no prior experience in computing to think like computer scientists. The course is designed to enable students to appreciate, use and understand ideas at the core of computer science. This course covers ideas that will be useful and interesting to students, whether or not they major in computer science. Computer science is the study of how to describe and predict properties of information processes. Most of what we know about describing information processes stems from three simple ideas:
  1. You can define things in terms of themselves (recursive definitions).
  2. You can treat procedures and data as one and the same (first class procedures).
  3. When you give something a name, it becomes more useful (abstraction).
Although these ideas are simple, they have profound implications that it takes many years to fully appreciate. The kinds of properties we want to predict about information processes include whether or not there is a procedure that can always solve a given problem (computability), and how much time and space will be required to solve a given problem (complexity).

Course Highlights

During this course, you will learn:
  • History of Computer Science - Where did the discipline come from? Where is it going? How does it impact me?
  • Programming Languages - The world speaks in many languages and so do computers and programmers. How does this relate to the world we know?
  • Algorithms - How do we solve problems? Problems can often fall into particular types of solutions, such as recursive answers. Can we find similar patterns in art and music?
  • Complexity - An algorithm is only as good as the time it takes to execute it. How do we measure the complexity of a solution?
  • Abstraction - How do we accurately model the world with just 1's and 0's? How do we hide information from the user?
  • Modern Challenges in Computing - Networks, cryptography, the World Wide Web, quantum computing, and even the Nintendo Wii offer interesting challenges and possibilities for the future of computing
Course Requirements

You should meet the following requirements to take this class:
  1. Have a genuine desire to learn about computing;
  2. Computing literacy (using the Web, Email, installing software);
  3. Basic mathematical, logical, and writing skills; and
  4. Can attend class regularly.

Your final course average will be calculated using the following method:

Homework Assignments / In-Class Quizzes - 50% - Each assignment/quiz has a set number points assgined to it, the sum of which equals 100 (or more with extra credit).
Test 1 - 15% - Covering the first third of the course.
Test 2 - 15% - Covering the second third of the course.
Final Exam - 20% - Covering mainly the remainder of the course, with some stuff from the first two-thirds.

Your final letter grade will be determined by the following scale:
A+ 100 98

Rounding - Grade averages not falling as integers will be rounded up or down with consideration to class attendance and participation.

Pass/Fail - A course average of 70 or higher is required for a pass.

A 97 93
A- 92 90
B+ 89 87
B 86 83
B- 82 80
C+ 79 77
C 76 73
C- 72 70
D+ 69 67
D 66 63
D- 62 60
F 59 0
Class Management

  • Please feel free to stop by my office any time. I'm usually there 9:00-5:00 every day. However, it's always a good idea to email me before you come, just to make sure I'm there, and to make sure I don't leave early.
  • Also, feel free to call my office (982-2688) if you can't stop by.
  • I can't stress enough that email is the best way to get in touch with me. I check it literally every 5 minutes or so.
  • Please don't hesitate to contact me if you have any problems, concerns, questions, or issues regarding the course, material, or anything else in the class.
  • Attendance in lecture is vital to learning the material and making a good grade in this class.
  • Attendance will not specifically be taken every lecture, but it will be apparent who consistently comes to class and who doesn't.
  • Further, some graded quiz exercises may take place during lecture.
Homework/Lab Assignments
  • Homework assignments will not be handed out in class. Everything will be available online.
  • There will be a (minimum of) five homework assignments during the course of the semester. The assignments will include questions regarding and taken from the chapters assigned for each lecture. Specific grading criteria will be provided with each assignment.
  • In this course, for each homework assignment you will each be assigned a partner.
  • You will have the ability to declare a certain number of other students (three or so) that you refuse to work with at the outset. After that, your partner will be psudo-randomly assigned before each homework assignment goes out.
  • Assume that partners may not collaborate with any other set of partners. Specific instructions will be given per assignment if this is allowed.
  • During the course of the semester, you will be expected to complete a project of larger scale than the homework assignments. Details on this project will become available later in the course.
  • There will be a total of three tests/exams during the course of the semester, counting the final exam.
  • Any test that is missed due to any absence that is not a University Excused Absence will result in a zero (0) for that grade.
  • Any test that is missed due to a University Excused Absence or due to circumstances that are approved by me beforehand must be made up within a week of the missed test.
Grading Concerns and Appeals
  • All grading appeals must be made in writing and submitted with the original assignment (if it is electronic, this is not necessary) either to the instructor (for tests and the project) or to the Head TA (for all other HW assignments).
  • I firmly believe that learning experiences should be engaging and often entertaining. However, sometimes people take this as an indication that they can do whatever they want in class. Students and staff are all expected to treat each other with respect.
  • This includes, but certainly is not limited to:
    • Excessive web browsing duirng class
    • Disrespectful language
    • Promptness for all deadlines and class meetings
    • Quality work
  • Students can and will be penalized for unprofessional behavior.
Academic Integrity

The School of Engineering and Applied Science relies upon and cherishes its community of trust. We firmly endorse, uphold, and embrace the University's Honor principle that students will not lie, cheat, or steal, nor shall they tolerate those who do. We recognize that even one honor infraction can destroy an exemplary reputation that has taken years to build. Acting in a manner consistent with the principles of honor will benefit every member of the community both while enrolled in the Engineering School and in the future.

Students are expected to be familiar with the university honor code, including the section on academic fraud (http://www.student.virginia.edu/~honor/proc/fraud.html). Each assignment will describe allowed collaborations, and deviations from these will be considered Honor violations. If you have questions on what is allowable, ask! Unless otherwise noted, exams and individual assignments will be considered pledged that you have neither given nor received help. (Among other things, this means that you are not allowed to describe problems on an exam to a student who has not taken it yet. You are not allowed to show exam papers to another student or view another student's exam papers while working on an exam.) Send, receiving or otherwise copying electronic files that are part of course assignments are not allowed collaborations (except for those explicitly allowed in assignment instructions).

Assignments or exams where honor infractions or prohibited collaborations occur will receive a zero grade for that entire assignment or exam. Such infractions will also be submitted to the Honor Committee if that is appropriate. Students who have had prohibited collaborations may not be allowed to work with partners on remaining homeworks.
LNEC and Other Special Circumstances

If you have been identified as an LNEC student, please let the Center know you are taking this class. If you suspect you should be an LNEC student, please schedule an appointment with them for an evaluation. I happily and discretely provide the recommended accommodations for those students identified by the LNEC. Please contact me one week before an exam so we can make accommodations. Website: http://www.virginia.edu/studenthealth/lnec.html

If you have other special circumstances (athletics, other university-related activities, etc.) please contact your instructor and/or Head TA as soon as you know these may affect you in class.