![]() |
| Home | People | Curriculum | Projects | Resources | Media |
Lab assignments and other relevant links for CS105
Various stuff from lecture, and mini-homework answers
Semester & Year: Fall 2008
Instructor:David Wonnacott, John Dougherty
Schedule: Lecture MW 12:30-2:00 in Hilles 109; Lab: any 1 hour of Th 7-8, Th 8-9, F 12-1, F 1-2 (or possibly one additional time if necessary).
Required Text:
Course notes:
From Vision to Execution: Computer Science and the Creative Process
by David Wonnacott.
Available at the Haverford College book store
for less than the price (including shipping) of ordering directly from lulu.com.
Recommended Texts: The course notes cover all the features of the Python language and all the mathematical techniques that will be needed in this course, but students who want more details can read the tutorial on the Python web site to learn about the Python language, or read David Gries' The Science of Programming (Springer-Verlag
1987, ISBN 0387964800) for more detail about the use of formal reasoning techniques to develop programs.
Prerequisites: None
Experience with programming or Python is not required;
we will discuss, in the lecture and lab, all of the programming techniques and
language features that we expect you to know and use.
This course is intended to serve all interested students.
Description: A general introduction to the study of computer science.
Computer science investigates the fundamental laws governing computational processes and objects. The basic elements of a computation are algorithms and data structures. Computer scientists study the construction and properties of these elements, their composition into larger scale software programs or computer hardware, and their interactions with human beings and effects on society. (By analogy, biology investigates fundamental questions about life, exploring scales both small (molecular biology) and large (ecosystems), and physics investigates fundemental questions about matter, energy, space and time.)
CMSC 105 begins the study of computer science with a brief overview of algorithms, data structures, and software, followed by an in-depth introduction to the intellectual tools used by computer scientists to create and investigate algorithms, including:
The detailed introduction to data structures is given in CMSC 206.
Related Courses:
Evaluation: 1 midterm & 1 final exam, weekly labs, with the final grade determined by approximately 50% lab grades, 45-50% exam grades, and up to 5% class participation (including attendance and completion of in-class exercises/assesments.)
Collaboration: You are encouraged to discuss the lecture material and the weekly labs and problems with other students, subject to the following restriction: the only "product" of your discussion should be your memory of it - you may not write up solutions together, or exchange written work or computer files. Collaboration is not allowed on exams.
Learning Accomodations: Students who think they may need accommodations in this course because of the impact of a disability are encouraged to meet with the instructor in private (e.g., during office hours) early in the semester. Students should also contact Rick Webb, Coordinator, Office of Disabilities Services (610-896-1290) to verify their eligibility for reasonable accommodations as soon as possible. Early contact will help to avoid unnecessary inconvenience and delays, and facilitate learning.
|
|