CSCI 1101B: Introduction to Computer Science

Overview Schedule Resources Feedback

Schedule

We will meet at 11:40 AM - 1:05 PM on Monday, Tuesday, and Wednesday. Lab time will normally be held during Tuesday's class.

Final Exam: Saturday, Dec 21, 8:30-11:30 AM in Searles 128.

People

Professor: Sarah M. Harmon
Email: sharmon@bowdoin.edu
Phone: 207-798-4286
Office: Searles 316A
Office Hours: Mon/Tues 1:15-2:45 PM, or by appointment.

TA Schedule (Searles 128) — planned to start on Sunday, Sept. 15!
Sunday: Jhadha King (7-9 PM); Juliana Taube (8-10 PM)
Monday: Charlotte Johnston (7-9 PM); Jigyasa Subedi (8-10 PM)
Tuesday: Dani Hove (7-9 PM); Adrienne Miller (8-10 PM)
Wednesday: Anam Shah (7-9 PM); Jouya Mahmoudi (8-10 PM)

Please respect your TAs, and their time:

Course Description

This course will provide an introduction to computational thinking, programming, and the field of computer science in general. Computer science is fundamentally a study of problem solving, not simply computers (or computer programs) themselves.

We will consider questions such as:

  1. What defines computer science?
  2. How do we design an algorithm to solve a problem?
  3. How do we translate an algorithm into a computer program?

Over the course of the semester, students will learn the fundamentals of programming using the Python programming language and write a variety of programs during weekly lab assignments and larger projects. Labs will reinforce concepts presented in class that are fundamental to computer science and computation across many fields. Specific topics covered include variables, functions, conditionals, loops, arrays, recursion, and object-oriented programming.

Prerequisites: None. No programming background is expected of students taking CSCI 1101. Students with extensive programming background should instead enroll in CSCI 1103.

Distribution: This course fulfills the MCSR distribution requirement by teaching students to employ programming and algorithmic problem solving. These skills are broadly applicable across many fields of study.

Course Requirements

Attendance during class and lab sessions, completion of weekly short lab assignments and longer projects, and three exams (two midterms and a final). A grade of C or above on the final exam is the prerequisite for Computer Science 2101. Evaluation will be as follows:

Labs, Class Activities, & Participation: 30%
Programming Projects: 30%
Exams: 40%

Consistent thoughtful class participation will contribute positively towards your grade, particularly in borderline cases. Conversely, negatively impacting someone else's learning experience will have a negative effect on your grade.

Note that thoughtful participation does not necessarily mean always knowing the correct answer. Instead, it means that you should be engaging with the content and working toward mastery. We embrace mistakes in this class, because they help us to refine who we are and what we do.

Most labs and projects are not designed to be completed during scheduled lab meetings and will require significant work outside of class to complete. Labs are to be submitted using the CodeRunner system and are typically due by the start of the next lab (11:40 AM Tuesdays).

Textbook (optional)

Textbook

P. Gries, J. Campbell, and J. Montojo. Practical Programming: An Introduction to Computer Science Using Python 3, 2nd edition (2013). Available at Amazon or elsewhere.

The textbook is optional, but will roughly follow the schedule of the course.

Late Policy

Because the concepts that we cover in this course are highly cumulative, it is crucial that you do not fall behind on assignments.

In general, late submissions are not accepted unless an extension is granted by the instructor well in advance of the due date (not the night of the deadline!). Plan ahead and don't wait until the last minute to start working.

Collaboration Policy and Honor Code

Please review the CSCI 1101 Collaboration Policy.

You are responsible for understanding and adhering to this policy.

Electronic Device Policy

Computers will be extensively used in class, and are thus permitted for class-related purposes. Cell phones should be silenced and put away during class to avoid disruptions.

No electronic devices, including computers, phones, or calculators, are permitted during exams unless specifically indicated by the instructor.

Accommodations

If you need course accommodations, please make an appointment with me or with the Office of the Dean of Student Affairs as soon as possible.

Religious Holidays

Please let me know at the start of the semester if religious holidays will affect your attendance in class or your ability to complete homework assignments.

Connecting with Others in Computer Science

It's important to me that I not only support your growth and success as a Bowdoin student, but that I help you make connections with those around you - even outside of class.

We have a number of resources and student organizations on campus that you may be interested in. If you identify as a woman in computer science, I'd encourage you to check out our Bowdoin Women in Computer Science (BWICS) group.

If you identify as a student of color, another great group to connect with is the Students of Color in Computer Science (SCCS) club. This group supports skill-building and networking events like BWICS, and also has a regular Students of Color in Searles study night (with snacks!) in Searles 113 starting at 7PM every Tuesday.

I'd be happy to answer any questions you might have about these groups or other opportunities relating to getting involved with computer science outside of class. Please feel free to reach out anytime!