CPSC120
Fundamentals of Computer Science

Syllabus

A summary of the course objectives, content, policies, and schedule.

Instructor: Dr. Durell Bouchard
Office Hours: via Zoom by appointment
Office: Trexler 365-C
E-Mail:
Phone: 375-4901

Course Objectives


This course is the first in a two-course sequence designed to introduce students to the fundamental concepts of computer science. The course focuses on developing algorithms to solve problems and using the programming language Python.

Intended Learning Outcomes: At the end of the course the successful student will be able to

  1. design and implement (in the Python programming language) algorithms to solve small problems, appropriate for an introductory course.

  2. use the basic data types (numbers, booleans, and strings), control structures (conditionals and loops), data structures (lists and dictionaries), and modules (math and random) provided by the Python language.

  3. debug programs that successfully complete execution but have incorrect output.

Other Intended Outcomes: I hope that by working hard throughout the semester you will:

  1. look forward to coming to class

  2. think of programming assignments as fun puzzles

  3. celebrate failure as an opportunity to learn

  4. feel like there is no system too complicated for you to learn

Course Content


Prerequisites: There are no prerequisites for this course.

Text: How to Think Like a Computer Scientist: Learning with Python: Interactive Edition, by Bradley Miller and David Ranum, Runestone Interactive, 2015.

Activities: Programming activities during class give the student a structured experience in software design, implementation, and debugging. They also increase the student’s ability to use and understand the tools available for software development. The activities connect the reading and lectures to the practice of programming and prepare students for assignments. Activities not completed during class are due the next class.

Assignments: Regular small programming assignments are designed to reinforce class concepts. You are encouraged to start on them immediately when assigned and get help from the instructor as needed. Assignments are due before the beginning of class. Late assignments will receive no credit.

Project: The focus of the course is a hands-on software development project of your design. This project is designed to allow you to put together all of the problem-solving and programming skills you have learned.

Quizzes, Tests, and Exams: Short quizzes will be given to make sure you understand the concepts and keep up with the course work. Quizzes will be at the beginning of class. No make-up quizzes will be given. Threre will be three tests and one comprehensive final exam.

Test Date
Test 1 Wednesday, September 16
Test 2 Friday, October 9
Test 3 Monday, November 2
CPSC120A Final Exam Saturday, November 21 (1:00PM - 5:00PM)
CPSC120B Final Exam Friday, November 20 (1:00PM - 5:00PM)
CPSC120C Final Exam Monday, November 23 (6:00PM - 10:00PM)

Co-curricular: The Department of Mathematics, Computer Science, and Physics is offering a series of lectures designed to engage the campus community in discussions of ongoing research, novel applications, and other issues that face these disciplines. You are invited to attend all of the events but participating in at least two is mandatory. Within one week of attending an event you must submit a one page, single-spaced, paper (to Inquire) reflecting on the discussion. If you do not turn the paper in within the one week time frame you may not count that event as one you attended.

Grading: Course grades are assigned based on the following weights and scale:

Grade Weights
Catagory Weight
Quizzes 10%
Activities 10%
Project 11%
Assignments 11%
Co-curricular 2%
Tests 42%
Final Exam 14%
Grade Scale
Grade Range Grade Range
A 93-100 C 73-76
A- 90-92 C- 70-72
B+ 87-89 D+ 67-69
B 83-86 D 63-66
B- 80-82 D- 60-62
C+ 77-79 F 0-59

Course Policies


Attendance Policy: If you have a temperature of 100.4 or higher or other coronavirus symptoms, don’t come to class. Call Health Services IMMEDIATELY. Do not come to class or go to any public area on campus. Do keep up with all readings, assignments, and deadlines. In order for your absence to be excused, you must give Health Services permission to notify me that you have consulted them about coronavirus symptoms. If Health Services informs you that you should isolate and not attend class for multiple days or weeks, inform me so that we can make a plan to keep you current in the course. All absences caused by consultation with Health Services about coronavirus symptoms or isolation ordered by Health Services will be excused.

Class attendance is vital to your success in this course; material covered during missed sessions is the responsibility of the student. Conversations held in class illuminate the published class materials and are subject to evaluation on subsequent tests and quizzes. If you anticipate being unable to attend class, email me before class to be excused.

Face Coverings: Face coverings/masks must be worn over the mouth and nose by all students and instructors in classrooms and hallways of academic buildings. By wearing face coverings, we protect our college community and its most vulnerable members. Students who come to class without a face mask that is being worn properly will be asked to leave and will be readmitted only after they are wearing one.

Online Instruction: If the college is forced to suspend in-person attendance as was done during Spring Semester 2020, this class will continue to meet via Zoom at our regular time. I will distribute an amended syllabus. I will email the class that plan. You will need internet connectivity. If you have technology challenges, I need you to email me as soon as the decision is made to go remote so that we can discuss how you can keep up. I will continue to have office hours via Zoom.

Make-up Policy: Everyone is expected to take tests and the exam at the scheduled time. If you have an excused absence, email me to arrange for a make-up. Unexcused absences will result in receiving no credit for missed tests and exams.

Late Assignment Policy: Unless otherwise specified, assignments are to be turned in before the start of class on the due date. If you anticipate being unable to meet a deadline, email me before the deadline to request an extension. Unexcused late work will receive no credit.

Academic Integrity: It is accepted that you have read and understood the standards for academic integrity at Roanoke College. All tests and exams are to be the work of the individual student. You are encouraged to get help from the instructor if you need help with any aspect of the course, including programs and assignments. Student assistants, tutors, and classmates may help you understand course concepts but may not show you how to do any particular aspect of an assignment. Students may discuss work and help each other out, but in all cases, the work you turn in must be your own. Copying someone else’s work or turning in someone else’s work is NEVER allowed. Using someone else’s work or ideas as your own is plagiarism and an academic integrity offense. Examples of academic integrity violations include copying a program or part of a program (even one line) from someone else, writing code for someone else, telling someone else how to solve a problem or having someone tell you how to solve a problem. Discussion among students about programming projects should be limited to general concepts, not specific aspects of how to complete the work.

Electronic Devices: All cell phones must be silenced and stored out of sight during class. The use of any electronic device during a test or quiz is prohibited. Any use of such a device during a test or quiz will be considered a breach of academic integrity.

Subject Tutoring: Subject Tutoring, located on the lower level of Fintel Library (Room 5), is open 4 pm – 9 pm, Sunday – Thursday. We are a Level II Internationally Certified Training Center through the College Reading and Learning Association (CRLA). Subject Tutors are friendly, highly-trained Roanoke College students who offer free, one-on-one tutorials in a variety of general education and major courses such as: Business, Economics, Mathematics, INQ 240, Modern Languages, Lab Sciences, INQ 250, and Social Sciences (see all available subjects at https://www.roanoke.edu/tutoring). Tutoring sessions are available in-person or online in 30 or 60-minute appointments (please specify if you prefer to meet with a tutor online or in-person when you make your appointment). All in-person appointments will maintain at least 6 feet of physical distance, desks will be cleaned between appointments, and masks must be worn in all indoor, public spaces. In the event that all classes go online this semester, Subject Tutoring will remain available online, too. Schedule an appointment at https://www.roanoke.edu/tutoring or contact us at 540-375-2590 or . We hope to see you soon!

Accessible Education Services: Accessible Education Services (AES) is located in the Goode-Pasfield Center for Learning and Teaching in Fintel Library. AES provides reasonable accommodations to students with documented disabilities. To register for services, students must self-identify to AES, complete the registration process, and provide current documentation of a disability along with recommendations from the qualified specialist. Please contact Laura Leonard, Assistant Director of Academic Services for Accessible Education, at 540-375-2247 or by e-mail at to schedule an appointment. If you have registered with AES in the past and would like to receive academic accommodations for this semester, please contact Laura Leonard at your earliest convenience to schedule an appointment.

Diversity: I consider this classroom to be a place where you will be treated with respect, and I welcome individuals of all ages, backgrounds, beliefs, ethnicities, genders, gender identities, gender expressions, national origins, religious affiliations, sexual orientations, ability – and other visible and nonvisible differences. All members of this class are expected to contribute to a respectful, welcoming and inclusive environment for every other member of the class.

Preferred Name/Pronoun: I will gladly honor your request to address you by an alternate name or gender pronoun. Please advise me of this preference early in the semester so that I may make appropriate changes to my records.

Course Schedule


This course expects you to spend at least 12 hours of work each week inside and outside of class.

Week Of Topic
Aug 19 Introduction
Aug 24 Variables
Aug 31 Reassignment
Sep 7 Loops
Sep 14 Functions
Sep 21 Scope
Sep 28 Conditionals
Oct 5 While Loops
Oct 12 Strings
Oct 19 Lists
Oct 26 Nested Lists
Nov 2 Classes
Nov 11 Projects