CS 151 Fall 2025     [Syllabus]     Labs/Projects

Description Contact Schedule Grading Materials Course Policies General Policies

Course Description

CS 151 Computational Thinking: Visual Media

An introduction to computational thinking: how we can describe and solve problems using a computer. Using the Python language, students will learn how to write algorithms, manipulate information, and design programs. They will learn about abstraction, how to divide and organize a process into appropriate components, how to describe processes in a computer language, and how to analyze and understand the behavior of their programs.

The projects will focus on manipulating images or generating complex and interesting scenes and animations each week through writing well-constructed programs.

Learning Objectives

  1. Students can read a simple program and correctly identify its behavior
  2. Students can convert a problem statement into a working program that solves the problem.
  3. Students understand abstraction and can break down a program into appropriate procedural and object-oriented components
  4. Students can generate an approximate model of computer memory and describe how an algorithm affects its contents.
  5. Students can communicate the result of their work and describe an algorithm.

Contact Information

Hannen Wolfe
Email: hewolfe@colby.edu
Office: Davis 114
Office hours:
Monday 1-3pm
Tuesday 1-2pm
Wednesday 10-11am
Thursday 11am-12pm & 1-2pm
Friday 2-3pm
Also available by appointment [email me]
Please email with any questions, will respond within 24hrs, M-F 9am-6pm

Lab Teaching Assistant: Daniel Lyu
Evening Teaching Assistant Office Hours (Davis 102):
Su 4-7pm Kelvin Owusu
Su 7-10pm Duilio Lucio
M 4-7pm Shin Wu
M 7-10pm Alexander Zhelonkin
Tu 4-7pm Ismaila Ahmed
Tu 7-10pm Andrew Lipton
W 4-7pm Rose Agyapong
W 7-10pm Mai Khanh Tran

General Schedule

Lectures

MWF 9:00-9:50am
Place: Lovejoy 213

Labs

W 2:20-3:50pm
Place: Davis 102

Weekly Course Schedule

Sunday: Homework due at 11:59pm
Monday: Homework assigned in class
Tuesday: Project due at 11:59pm
Wednesday: Project assigned in lab
Thursday: Lab assignment due
Friday: In class quiz every week

Important Dates

Quiz 1: Friday, September 12th
Quiz 2: Friday, September 19th
Quiz 3: Friday, September 26th
Quiz 4: Friday, October 3rd
Quiz 5: Friday, October 10th
No Class: Monday, October 13th
Quiz 6: Friday, October 17th
Quiz 7: Friday, October 24th
Quiz 8: Friday, October 31st
Quiz 9: Friday, November 7th
Quiz 10: Friday, November 14th
Quiz 11: Friday, November 21st
No Class: Monday-Friday, November 24th-28th
Final Exam: TBD

Grading

Overview

Projects 30% Weekly, hands-on, supervised and un-supervised learning.
Quizzes 20% Weekly in-class quizzes.
Homework assignments / Participation / Checkins 20% Watch videos & answer questions outside of class. Make progress on your project code. Participate in group activities, ask questions, attend lectures and labs.
Final Exam 30% A 1.5-hour opportunity at the end of the semester to demonstrate your ability to answer questions about course material.

Projects

Thursday: Project assigned in Lab

Wednesday: Project due at 11:59pm

Grading:
  • 20 points base project
  • 06 points writing/documentation component
  • 01 point for submitting a complete project by the due date
  • 03 points extension points (cannot receive if late)
Late Policy:
  • On Time: Assignment out of 30 points
  • 1 week late: Assignments will receive a max grade of 26/30 [no extension points] if turned in within 1 week of the due date. If it is incomplete 1 week after due date please turn it in as is to receive partial credit.
  • > 1 week late: Assignments will not be accepted.
  • 1 Freebie: As you all have busy schedules, each student is allowed to have one free three-day freebie that can be used at your discretion over the course of the semester, excepting only the final project. That means you may choose to hand in one project on Friday instead of Tuesday. Please fill out the form on google classroom to let me know you are taking your freebie before the deadline.

Homework/Participation/Check-ins Assignments

Homework Assigned Monday in lecture, due Sundays at 11:59pm.
Participation Due at the end of class.
Lab Checkins Due at midnight the day after lab.

Grading:
  • On Time: Graded from 0 or 1 based on completion.
  • Late: Late participation and homework will not be accepted.
  • Missing: 3 homeworks/participation assignments can be missed without penalty. These missed assignments will be automatically exempted and will not affect the final grade. Once the three allowed exemptions are used, any additional missed assignments will receive a 0.

Quiz

Friday: Weekly on Fridays.

Grading:
  • One quiz can be missed with an unexcused absence.
  • If you know in advance that you will miss a quiz, please coordinate with Hannen Wolfe to take the quiz before the quiz's scheduled date.
  • Please contact your professor in the event of quarantine or hospitalization, we will work out accommodations.

Final Exam

[[TBA]]
Based on Friday quizzes

Class Participation

You are expected to attend every class. Your attendance is part of your participation grade.

The course will involve both lectures and hands-on activities in lab. For this course to be truly successful, your presence and participation in lecture and lab is important. When you have a question, ask it. It is highly probable that one of your classmates has the same question. When we give you an opportunity to share your opinion or your answer, please speak up. We want to hear what you have to say. Discussion is a vital part of the learning experience. Good class discussion needs your contribution. If you must miss a class, you are responsible for making up the material covered in that lecture.
If you would like accomodations due to an extenuating circumstance (hospitalization, travel due to death in the family), you must get your Dean’s approval. In that case I will work with you and your Dean to support you.

Materials

Textbooks

We will using readings from a variety of textbooks available free online through the library.

Software

We will use the Python computer language (v3.8) as the basis for the course, with weekly lab sessions to provide hands-on, supervised learning. You will be using a text editor (e.g. VS Code, TextWrangler) to write your code. Some projects may also use other free software that you can install on your computer. The computers in Davis 101 and 102 are equipped with all necessary software and you can access the building and the labs 24/7 during the semester.

Course Policies

Use of electronics in class

Smart phones and smart watches are not allowed during quizzes and exams.
Please make sure your cell phones are off. I discourage the use of smartphones unless used as a mandated accommodation. It is distracting for those around you (Sana et al., 2013), for lecturers, and can be distracting for you. There is also empirical evidence that students learn better and remember more by taking notes by hand (Mueller & Oppenheimer, 2014). Please see me if you have concerns about this and I will work with you to support your learning needs.

Collaboration, Academic Honesty

Computer science, both academically and professionally, is a collaborative discipline. In any collaboration, however, all parties are expected to make their own contributions and to generously credit the contributions of others. In our class, therefore, collaboration on homework and programming assignments is encouraged, but you as an individual are responsible for understanding all the material in the assignment and doing your own work. Always strive to do your best, give generous credit to others, start early, and seek help early from both your professors and classmates.

The following rules are intended to help you get the most out of your education and to clarify the line between honest and dishonest work. We reserve the right to ask you to verbally explain the reasoning behind any answer or code that you turn in and to modify your project grade based on your answers. It is vitally important that you turn in work that is your own. We do use automated plagiarism detection software, so please be sure to abide by these, rather minimal, rules. Reports of academic dishonesty are handled by an academic review board and a finding of academic dishonesty may result in significant sanctions. For more details on Colby's Academic Integrity policies and procedures, see colby.edu/academicintegrity.

  • If you have had a substantive discussion of any homework or programming solution with a classmate, then be sure to cite them in your write-up. If you are unsure of what constitutes "substantive", then ask me or err on the side of caution. As one rule of thumb, if you see more than 10 lines of someone else's code, then you should cite them. You will not be penalized for working together.
  • You must not copy answers or code from another student either by hand or electronically. Another way to think about it is that you should be talking English with one another, not program languages.

Generative AI

You may not turn in any AI-generated code or written text. This includes the output of AI code assistants. Copying text or code from generative AI software either by hand or electronically is academic dishonesty. There are instructions on how to turn off Co-Pilot in VS Code. If I see it installed on your computer it is considered academic dishonesty.

In general, the use of generative AI (like ChatGPT) in CS 151 is discouraged. You must include an AI usage statement in each project report. You cannot receive credit for extensions without an AI usage statement. If you use a generative AI tool like ChatGPT to assist with your projects or reports, you should acknowledge which part you used it on and include the prompts that you used. Not doing so breaches academic integrity policies. It's your responsibility to verify the correctness of the answers from generative AI. You will not lose points for claiming to use generative AI but you will lose points for incorrect answers.

Your AI Usage Statement must include:
  • Statement on if you used AI on this project.
  • A reflection on how you used AI for the project including software used. If you did not use AI for this project, reflect on how you may have used AI in general this past week.
  • Include all prompts that you used and how you incorporated them into your project or report.
  • You cannot receive extension points without an AI usage statement.

How to succeed

Labs and Projects: Come to lab ready to focus on the new project. Ask the lab instructor and TA for help if you need it. Talk to your peers about the course concepts.

Quizzes: Study for the quizzes by doing the homeworks.

Short homeworks: Try them. You will receive full credit as long as you make an honest attempt to complete every question. Please ask or email questions to the professor if something isn't clear (see 30-Minute Rule below). As long as you have attempted each question and submit your response by Sunday at 11:59pm on classroom, you will get credit. Review the homework solutions to check your understanding of the material before the quiz. There is no partial credit for late homeworks before you take the quiz.

Participation: Attempt to answer questions when called on in class. Ask questions in class. Come to office hours. Ask your your instructor or TA for help.

Final Exam: The final exam will be similar to a large set of quizzes (but written from a more wholistic perspective). The best way to study for the final exam is to retake all of the old quizzes (and quizzes from old semesters). Also, read through your notes and make sure you understand everything in them.

For more information about expectations and the assignment of grades, see this document.

Help and Discussion Outside of Lecture

  • Office Hours: I will all be available to help outside of class time with questions about concepts or projects. Please do not hesitate to stop by my offices, or send me an email. Not only do I enjoy talking about computer science, I want to get to know you!

  • Email: In addition to coming by our offices for help, you are welcome to send me email with a question. I read my email frequently and respond to questions within 24 hours M-F.

  • Evening TA Help: In order to provide as much help as possible to you as you work on assignments in this course, the CS Department has hired upper-level CS students to work as TAs in the Davis 102 lab in the evenings . You are strongly encouraged to take advantage of this resource. The TAs are getting paid to help you, so don't feel guilty about asking them for help. See the section above called Evening TAs for specific times.

  • Guidelines:
    • 30-Minute Rule: If you have been stuck on a problem, such as a bug, for more than 30 minutes and have made no progress, despite your best efforts, please stop and get help. Email me, ask a TA, or consult a peer. If you don't get an answer immediately, do something else for a while. Please do not waste your time on one problem.
    • I am always happy to help you with any of your code for your projects. However, the earlier you come to us with questions, the happier we'll be to help you (we usually respond to a last-minute call for major help with the question "Why didn't you start earlier?").
    • Please feel free to raise any concerns or complaints about the course directly with me.

Miscellaneous

It should go without saying that you should back up any files related to this course. If the code you submit to us is somehow lost (through your fault or our fault), I must be able to get another copy from you. I suggest you use the college's personal server (filer.colby.edu) to store your work in this class, as it is regularly backed up.

If you come across a Python word or function that you are unfamiliar with, you should know how to look it up in online documentation or in a Python reference book. There is a section of helpful links on the course information page. If you have trouble finding the documentation you need, feel free to come see us, but we expect you to try to look up the documentation yourself first.

It should also go without saying that you should never leave your work in a public folder on a computer in a public lab. Instead your work should always be kept in your private account or copied to your own media such as flash drives and deleted from the computer's hard disk when you are finished using the computer.

Don't gloss over errors in your code. That is, if you pretend there are no errors in your code when you know there are some there, I will take off more points than if you point out the errors that you were unable to fix.

General Policies

The Colby Affirmation

Colby College is a community dedicated to learning and committed to the growth and well-being of all its members.

As a community devoted to intellectual growth, we value academic integrity. We agree to take ownership of our academic work, to submit only work that is our own, to fully acknowledge the research and ideas of others in our work, and to abide by the instructions and regulations governing academic work established by the faculty.

As a community built on respect for ourselves, each other, and our physical environment, we recognize the diversity of people that have gathered here and that genuine inclusivity requires active, honest, and compassionate engagement with one another. We agree to respect each other, to honor community expectations, and to comply with college policies.

As a member of this community, I pledge to hold myself and others accountable to these values.

What does this mean to students?
  • We respect each other and ourselves.
  • We respect our physical spaces on campus.
  • We respect our academics and complete work honestly.

Title IX Statement

Colby College prohibits and will not tolerate sexual misconduct or gender-based discrimination of any kind. Colby is legally obligated to investigate sexual misconduct (including, but not limited to, sexual assault and sexual harassment) and other specific forms of behavior that violate federal and state laws (Title IX and Title VII, and the Maine Human Rights Act). Such behavior also requires the College to fulfill certain obligations under two other federal laws, the Violence Against Women Act (VAWA) and the Jeanne Clery Disclosure of Campus Security Policy and Campus Statistics Act (Clery Act). To learn more about what constitutes sexual misconduct or to report an incident, see:
https://life.colby.edu/your-safety/sexual-violence-title-ix/. I am committed to all Colby students feeling safe, accepted, and included in all aspects of their college experiences, including this course. Colby prohibits and will not tolerate sexual misconduct or gender based discrimination of any kind and is obligated, by federal and state laws, to respond to reports and provide resources to students. As your professor I am considered a "responsible employee" which requires me to report incidence of sexual assault, sexual harassment, dating violence, or stalking to the Title IX Coordinator. If you wish to access confidential support services, you may contact:
  • The Counseling Center: 207-859-4490
  • The Title IX Confidential Advocate: 207-509-9122
  • The Office of Religious and Spiritual Life: 207-859-4272
  • Maines's 24/7 Sexual Assault Helpline: 1-800-871-7741

Academic Accommodations

I am committed to creating a course that is inclusive in its design. If you encounter barriers, please let me know immediately so we can determine if there is a design adjustment that can be made. I am happy to consider creative solutions as long as they do not compromise the intent of the assessment or learning activity.
If you are a student with a disability, or think you may have a disability, you are also welcome to initiate this conversation with the Dean of Students Office. The Dean of Students Office works with students with disabilities and faculty members to identify reasonable accommodations. Please visit their website for contact and other information:
https://www.colby.edu/studentadvising/student-access-and-disability-services/. If you have already been approved for academic accommodations, please connect within the two weeks of the start of the semester so the office can develop an implementation plan.

Mental and Emotional Health

I am invested in the mental and emotional health of my students. Even as I establish and maintain the academic standards of my course, I value each of you as individuals with complex lives, identities, and challenges.
Throughout the semester, the responsibilities of your Colby education may interact with situational as well as ongoing mental and emotional challenges in foreseeable and unforeseeable ways. If you are in need of reasonable flexibility due to an emotional situation or an ongoing mental health issue, please communicate as openly as possible with your Class Dean, and/or members of the office of Access and Disability Services, preferably in advance of the need, so that we can discuss how your circumstances interface with course requirements. Together, we will consider what is needed and what is possible. If we can discuss the situation, we can manage the situation together.
Please do not allow academic responsibilities to prevent you from getting help you need. Our Colby Counseling Services staff (207-859-4490) and the staff in the Dean of Studies office (207-859-4560) are available to connect with you. The safety of my students and every member of this community is paramount. If you or someone you know is struggling with thoughts of suicide or may be a danger to themselves or others, please call the on-call counselor immediately (207-859-4490, press ‘0’).”

Athletic Participation

While Colby College is supportive of athletic participation by its students, academics take priority over athletics. Both NCAA and Colby rules prohibit missing class for practices. In the case of overlapping commitments between class and athletic competitions, the student must meet with the professor as soon as possible to discuss these overlaps. The student may request permission to miss class and make up the missed work; the instructor has final authority either to grant or to withhold permission.
Please bring me a copy of your athletics travel schedule at the beginning of the semester and we can discuss accommodations.

Respect for Diversity

It is my intent that students from diverse backgrounds and perspectives be well-served by this course, that students' learning needs be addressed both in and out of class, and that the diversity that students bring to this class be viewed as a resource, strength and benefit. I expect you to feel challenged and sometimes outside of your comfort zone in this course, but it is my intent to present materials and activities that are inclusive and respectful of all persons, no matter their gender, sexual orientation, disability, age, socioeconomic status, ethnicity, race, culture, perspective, and other background characteristics.
Class rosters are provided to each instructor with the student's legal name. I will gladly honor your request to address you by an alternate name and/or gender pronoun. Please advise me of this early in the semester so that I may make appropriate changes to my records.

I have attempted to avoid scheduling exams during major religious holidays. If, however, I have inadvertently scheduled an exam or major deadline that creates a conflict with your religious observances, please let me know within two weeks of the start of classes so that we can make other arrangements. Colby College is supportive of the religious practices of its students, faculty, and staff. The College is committed to ensuring that all students are able to observe their religious beliefs without academic penalty.