- Professor Tom Armstrong, Wheaton College, Spring 2017
- Course Site: http://bit.ly/comp115
- Slack Information: wheaton115
- Meeting Times: MW at 3:30 - 4:50
- Office Hours: Tu at 2:00 - 3:30 and by appointment
Problem-solving techniques and algorithm development with emphasis on program design, introductory numerical methods and object-oriented programming from the client perspective. Some form of robot, either virtual or real, is used to augment course content. This course is intended for those seeking a thorough and rigorous exposure to programming; an ideal course for those considering graduate school in any field. Topics covered include programming language syntax (e.g., C++, Python), coding, debugging, testing and good documentation style. Concepts include arithmetic and logical operations; simple input and output; functions and the introductory data structures of arrays/lists, records and classes.
It is the expectation for all classes taught at Wheaton College that one hour of class time may expect two to three hours of preparation outside of class. In addition to preparation time, programming assignments are designed to take a significant amount of time per week. Actively read and do the understanding questions in chapters related to what we discuss in class and lab, and start all assignments early. No late work is accepted.
All work and submissions in this course must be entirely your own original content. Assignments and examinations are to be done individually unless otherwise specified. Laboratories are collaborative and should be done in pairs. Resources (electronic and print) that contain documentation about programming languages are typically allowed, but those containing implementations of assignment components -- except the course texts -- are off limits. At the discretion of the instructor, violations of academic integrity will result in penalties up to and including failing the course and reporting the violation to the College Hearing Board. If you have general questions/concerns or specific instances to discuss, do not hesitate to ask in class or privately.
Wheaton is committed to ensuring equitable access to programs and services and to prohibit discrimination in the recruitment, admission, and education of students with disabilities. Individuals with disabilities requiring accommodations or information on accessibility should contact Abigail Cohen, Assisant Dean of Accessibility and Assistive Technology at the Filene Center for Academic Advising and Career Services.
- How to Think Like a Computer Scientist — readings assigned below
- Python.org (v3.x.x)
- Python Standard Library
- Anaconda
- Sublime Text 3
- Codecademy
N.B. Use the back and forward arrows at the bottom of the page to advance textbook sections.
Week | Topic | Reading |
---|---|---|
01 (25 Jan) | Introduction | Introduction |
02 (30 Jan & 01 Feb) | Data Types | Simple Python Data |
03 (06 Feb & 08 Feb) | Strings | Strings |
04 (13 Feb & 15 Feb) | Lists | Lists |
05 (20 Feb & 22 Feb) | Functions | Functions |
06 (27 Feb & 1 Mar) | Decisions | Decisions and Selections |
07 (06 Mar & 08 Mar) | Iteration | How to be a Successful Programmer |
08 | Spring Break | |
09 (20 Mar & 22 Mar) | Iteration | Iteration Revisited |
10 (27 Mar & 29 Mar) | Exam | ↑↑↑ Review ↑↑↑ |
11 (03 Apr & 05 Apr) | Recursion | Recursion |
12 (10 Apr & 12 Apr) | Files | Working with Data Files |
13 (17 Apr & 19 Apr) | Dictionaries | Dictionaries |
14 (24 Apr & 26 Apr) | Modules | Modules and Getting Help |
15 (01 May & 03 May) | Graphics | ↑↑↑ Review ↑↑↑ |
Weighting | Evaluation |
---|---|
60% | Programming Projects (~6 Projects) |
15% | Midterm Examination (March 27 — 29) |
15% | Viva Voce (May 1 — 3) |
10% | Class Participation/Preparation |