CS52 - Administrivia
Handouts, announcements, etc.
All handouts will be distributed on the course web page. This will include lecture notes/slides, assignments and other handouts. You are responsible for all material and announcements posted on the class web page, so please check it regularly. If this is a problem for anyone, feel free to come talk to me. For time critical announcements, I will use e-mail.
Course Description
The goal of this course is to give you a broad view of Computer Science, including the topics of
algorithms and complexity, computer architecture and organization, programming languages with a
solid understanding of functional programming and recursion, and finite automata and computability.
We will use the programming language SML for most of the work in the class. In the section on models
of computation, we will use the packages JFLAP and CS41B. In addition, we will gain a little experience
with the programming language Python.
Coursework
- Grade calculation
- 40% Assignments
- 35% Midterm exams (2, 17.5% each)
- 20% Final exam
- 5% Participation
- Assignments -
We will have roughly weekly assignments. Most will involve programming in some capacity. They will be posted on the course web page with a specified due date.
- Exams -
We will have two in-class midterms with have been tentatively scheduled on the course web page. Among other topics, exams will involve writing code on paper, not at a computer. To prepare for this, I recommend practicing writing code on paper (or on the whiteboards in the lab) throughout the semester. The (cumulative) final examination is also scheduled on the course calander during our final exam timeslot.
- Participation - Class attendance is required. Participation consists of attending class and of giving evidence that you are actively engaged with the material (asking/answering questions in lecture, coming to office hours, etc).
Late policy
Except under extenuating circumstances or when otherwise specified, late assignments will not be accepted.
Academic honesty and collaboration
I take academic honesty very seriously.
You are encouraged to get together in small groups to discuss material from the lectures and text. However, the work that you turn in must be done independently, unless an assignment is explicitly designated as one in which collaboration is allowed.
In particular, your work must not be based on information obtained from sources other than those approved for the course (i.e., the text, web pages linked from the course web page, and materials provided in lecture). You should never copy another students code or solutions, exchange computer files, or share your code or solutions with anyone else in the class until after an assignment is due. You may, however, use any code that we provide to you or that comes from the textbook, as long as you acknowledge the source. Additionally, the tutors are allowed to help you with your code.
A few rules to follow for this course to keep you out of trouble:
- If you talk with someone in the class about a problem, you should not take notes. If you understand the material you talked about, you should be able to recreate it on your own.
- Similarly, if you talk with someone, you must wait 5 minutes before resuming work on the problem. Stretch. Use the restroom. Go for a quick walk. This will ensure that you really understand the material.
- You may not sit next to (or where you can see the screen of) anyone you are talking with about the assignment.
- The only time you may look at someone else's screen is if they are asking you for help with a basic programming problem (e.g. syntax error). You should not look at someone else's code to help yourself!
If you are ever unsure about what constitutes acceptable collaboration, please ask!
For more information see the Computer Science Department's Academic Honesty Policy and the college's policy.
Computer and cell phone use during class
You may use your laptops/devices during lecture to take notes. Please resist the temptation to use your laptop/devices for other purposes (e-mail, IM, web browsing, games, texting, etc.).
Computer lab use
You may use your own laptop or the Computer Science department computers for this course. If you use the CS computer labs (which I encourage you to do), please read about the Computer Systems Policies.
Disability accomodations
Pomona College is committed to providing equal opportunity for participation
in all programs, services and activities. Requests for accommodations may be made by contacting the
Disability Coordinator on your home campus. At Pomona College, that person is Associate Dean of
Students Jan Collins-Eaglin. Pomona College's policy on disability accommodations can be found at the
Dean of Student's website.
Due to the nature of this course, extensions on assignments will not be allowed.
If you have any accomodations, please come talk to me in the first two weeks of class.