Meetings: MTWF 8 - 8:50 AM, Olin 124
Instructor: Janet Davis (firstname.lastname@example.org)
Office hours: As posted and by appointment
Class mentor: Melissa Kohl
Mentor sessions: Mondays 8-9 and Thursdays 7-8 in Olin 124
Lab hours and lab aide hours
About this course
Welcome to CS 167! The official course description:
A course very much like this is the reason I became a computer scientist. I'm excited to teach this course, and I hope to share some of that excitement with you.
My main goal for this class is that you will begin to learn how computer scientists solve problems. We will be using Python as our first programming language. Python is relatively easy to learn. It is widely used to solve problems across many domains, including professional software development.
By the end of this class, you will:
- become familiar with big ideas of computer science, including algorithms, data, abstraction, and efficiency;
- understand and apply basic elements common to all programming languages: data types, variables, functions, iteration, and conditionals;
- construct clear, well-commented, modular computer programs;
- carefully test and debug computer programs;
- independently find libraries, examples, and tutorials online to help you with your own projects;
- be ready to use Python to solve computational problems you encounter beyond this class;
- sharpen general problem-solving skills;
- consider some of the historical and contemporary social context of computing.
How to be successful in this class
Experience suggests that learning computer science uses different parts of your brain than other courses (even math and science courses). Learning to program is difficult for many people, but with mindful practice you can succeed. Be patient with yourself. Expect some frustrating times, but have confidence that you can work through them. You'll come out of the course with new skills and knowledge.
Like learning math or a foreign language, learning in this course is cumulative: New ideas often build on ideas from earlier in the course. Make sure you understand key ideas. Review readings, notes, and exercises after class. Take the quizzes seriously. Try some extra problems on your own. If you feel like you've missed something important, please come talk with me ASAP.
Computers have no common sense or compassion. They are complex systems, and sometimes they do things we don't expect. If things break, it's probably not your fault.
Thanks to Andy Exley and Albert Schueller for informing the content and learning activities in this course. Thanks to Albert Schueller, Jerod Weinman, Henry Walker, and Samuel A. Rebelsky for informing course policies and advice to students.
The syllabus page shows a table-oriented view of the course schedule, and the basics of course grading. You can add any other comments, notes, or thoughts you have about the course structure, course policies or anything else.
To add some comments, click the "Edit" link at the top.