CS 151 Spring 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 10-11am & 1-2pm
Wednesday 10-11am & 1-2pm
Thursday 11am-12pm
Friday 4-5pm
Please email with any questions, will respond within 24hrs, M-F 9am-6pm

Lab Teaching Assistant: Tess Rhodes (Th. 1:00-2:20pm)
Evening Teaching Assistant Office Hours (Davis 102):
Su 4-7pm Eric Adjei
Su 7-10pm Luke Pyhtila, Brooke Vincent
M 7-10pm Azeem Gbolahan
Tu 4-7pm Rose Agyapong
Tu 7-10pm Changru Lyu (CS151), Jemoy Jarrett, Glory Mahenge
W 4-7pm Alexander Zhelonkin (CS151)
W 7-10pm Robin Hoang (CS151), Andrew Lipton (CS151)

General Schedule

Lectures

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

Labs

Th 1:00-2:20pm
Place: Davis 102

Weekly Course Schedule

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

Important Dates

Quiz 1: Friday, February 14th
Quiz 2: Friday, February 21st
NO CLASS: Friday, February 28th
Quiz 3: Friday, March 7th
Quiz 4: Friday, March 14th
Quiz 5: Friday, March 21st
Quiz 6: Friday, March 28th
Quiz 7: Friday, April 4th
Quiz 8: Friday, April 11th
Quiz 9: Friday, April 18th
Quiz 10: Friday, April 25th
CLAS: Thursday, May 1st (no class)
Lab Rescheduled: Friday, May 2nd
Final Exam: TBD

Grading

Overview

Labs with Programming Projects 45% Weekly, hands-on, supervised and un-supervised learning.
Quizzes 20% Weekly in-class quizzes.
Homework assignments / Participation / Checkins 15% 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 20% 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:
  • 21 points base project
  • 05 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 Saturday instead of Wednesday. Please fill out the form on google classroom to let me know you are taking your freebie before the deadline.

Homework/Participation

Homework Assigned Monday in lecture, due Sundays at 11:59pm.
Participation Due the day after the class it assigned at 11:59pm.

Grading:
  • Graded from 0 or 1 based on completion

Quiz

Friday: Weekly on Fridays.

Grading:
  • One quiz can be missed with an unexcused absense.
  • 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.

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

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

The use of generative AI (like ChatGPT) in CS 151 is discouraged. You may not turn in any AI-generated code or written text. This includes the output of AI code assistants (Copilot, Tabnine, etc.). Copying text or code from generative AI software either by hand or electronically is academic dishonesty.

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 at the end of the assignments 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.

To acknowledge using generative AI you must:
  • Cite the software in your acknowledgements in your project report.
  • Include all prompts that you used in your acknowledgements.

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). You can learn more about what constitutes sexual misconduct or to report an incident here.

If you wish to speak confidentially about an incident of sexual misconduct, you may contact:
  • Counseling Center: 207-859-4490
  • Emily Schusterbauer, Director Gender and Sexual Diversity Program (eeschust@colby.edu; 207- 859-4093)
  • Office of Religious & Spiritual Life: 207-859-4272
  • Maine's 24/7 Sexual Assault Helpline: 1-800-871-7741
Students should be aware that faculty members are considered "responsible employees"; as such, if you disclose an incident of sexual misconduct to a faculty member, they have an obligation to report it to Melvin Adams, Colby's Title IX Coordinator. "Disclosure" may include communication in-person, via email/phone/text, or through class assignments.

Academic Accommodations

I am available to discuss academic accommodations that any student with a documented disability may require. Please note that you’ll need to provide a letter from the Dean of Studies Office documenting your approved accommodations. Please meet with me within two weeks of the start of the semester to make a request for accommodations so that we can work together with the College to make the appropriate arrangements for you. Office of Student Access & Disability Services (accommodations@colby.edu) is the primary contact for accommodations and any questions related to educational testing and documentation.

Mental health: I care about my students’ well-being and understand they may face mental health challenges. Students are encouraged to seek support from the College’s available resources, including your advising dean and Counseling Services. (For immediate care, please call 207-859-4490 and press “0” to reach the on-call counselor.) I am willing to discuss reasonable accommodations during a crisis, but to fulfill our educational mission, students are expected to adhere to the attendance policy. Failure to do so because of mental health challenges may require consultation with the Dean of Studies Office.

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.

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.

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.