CSCI 150
Foundations of Computer Science


MWF 9:10am - 10:00am (A2)


MC Reynolds 110


Prof. Lars Seme
(501) 450-1256
Office Hours


W 1:10pm - 4:00pm (L8)


Snoddy Computer Lab


Dr. Gabriel Ferrer
(501) 450-3879
Office Hours


R 1:10pm - 4:00pm (L9)


Snoddy Computer Lab


Dr. Brent Yorgey
(501) 450-1377
Office Hours


Introduction to solving computational problems, including the fundamentals of computer programming. Topics include imperative programming constructs (variables, loops, conditionals, functions, recursion), basic object-oriented constructs (classes, objects), and some fundamental algorithms and data structures (dictionaries, arrays, linked lists). Student learn these concepts through studying the Python programming language.

Learning Goals

Upon completing this course, our goal is for you to be able to:


Optional Resources

Laptop Policy

Please do not bring laptops to lecture. This may seem strange in a computer science class. But lab is the place where you will get plenty of experience working on the computer; lecture is a time for thinking and learning without the distraction of a computer.

Exceptions may be made on a case-by-case basis if you can prove to me that you really do benefit from using your laptop to take notes.

In-Class Code

When we write code together in class, it will be posted here!

Date Topic Code
F 24 Jan Intro to Python I Python Day 1


Each student has four late days to spend throughout the semester as they wish. Simply inform the instructor any time prior to the due date for an assignment that you wish to use a late day; you may then turn in the assignment up to 24 hours late. Multiple late days may be used on the same assignment. There are no partial late days; turning in an assignment 2 hours late or 20 hours late will both use 1 late day. Note that late days are intended to cover both normal circumstances (you simply want more time to work on the assignment) and exceptional circumstances (you get sick, travel for a game or family obligation, etc.). After you have used up your late days, late assignments will receive at most half credit.

Homework and Quizzes: 140 points

# Name Assigned Due
0 Student Info Survey W Jan 22 F Jan 24
1 Minecraft F Jan 24 W Jan 29

There will often be short homework assignments to be completed over the weekend, assigned on Friday and due Wednesday, sometimes with a corresponding quiz at the beginning of class on Wednesday.

Labs: 260 points

# Name Assigned Due
1 Minecraft Hour of Code Jan 22-23 Jan 29-30
2 Kepler and Newton Jan 29-30 Feb 5-6
3 Diagnosing Heart Disease Feb 5-6 Feb 12-13
4 This Day in History Feb 12-13 Feb 19-20
5 Guess My Number Feb 19-20 Feb 26-27
6 Mutation is the Word Feb 26-27 Mar 4-5
7 Todo Manager Mar 4-5 Mar 11-12
8 Caesar’s Secrets Mar 11-12 Mar 18-19
9 Enron’s Secrets Mar 18-19 Apr 1-2
10 Sentiment Analysis Apr 1-2 Apr 8-9
11 Water Jugs Apr 8-9 Apr 15-16
12 Graphics and Animation Apr 15-16 Apr 22-23
13 On Stuckness and Debugging Apr 22-23 Apr 29-30
14 Project workshop Apr 29-30  

Much of your experience with programming in this course will be through weekly labs. Each lab will be assigned in lab with time allotted to work through the materials, and will be due by the start of the following lab. All labs are weighted equally within the lab portion of your final grade.

On these labs, you will work with a partner on the lab assignments. Their name must be listed on any code you hand in as joint work. A partnership should only turn in a single copy of the assignment. If students working as partners wish to turn in a lab late, both students must use a late day.

Lab attendance is required. Labs take place in the Snoddy Computer Lab, in the Bailey Library. As you go through the exterior door of the library, turn immediately to your left and enter the Snoddy Academic Resource Center. Continue through the door at the far end of the hall into the first computer lab, and then enter the second lab at the back.

Projects: 350 points

# Name Points Assigned Due
1 Civic Assistance Q/A System 50 Feb 14 Feb 28
2 Word Games 100 March 9 April 6
3 Final Project 200 April 13 May 12

You will have three projects in this course, one about every five weeks. These projects will cover concepts we have discussed in class and in labs, and will be due approximately one week after they are assigned.

You must work individually on the first two projects. You may discuss concepts and ideas with your classmates, but the code you turn in must be your own. You will be graded not only on correctness, but also technique, documentation and evaluation of your solution. Further details on the grading standards and handin instructions for each project will be given when they are assigned.

Exams: 250 points

There will be three in-class exams, the first worth 50 points and the second and third worth 100 of your final grade. They will consist of short answer questions along with writing and debugging code.

There is no final exam; you will complete a final project instead, as described above under Projects.

Grading Scale

Score Grade
900-1000 A
800-899 B
700-799 C
600-699 D
0-599 F


It is my ultimate goal for this course, and my teaching, to develop your academic skills, advance your learning of computer science concepts, and support the liberal arts in general. To do so will require commitments from myself and from you toward meeting this goal.

Active Participation

I will be prepared and on time for class each day, ready to use class time to help you understand the course material. I will respectfully listen to, understand, and answer questions asked in class.

You are expected to attend class and actively participate in discussions every day, answering questions, asking questions, presenting material, etc. Your participation will be respectful of your classmates, both of their opinions and of their current point in their educational journey, as we each approach the material with different backgrounds and contexts.

Constructive Feedback

I will keep office hours and be available for outside appointments, and respond to emails within one business day (not including weekends). I will provide feedback on group presentations within one day. For exams, projects, and homeworks, I will provide graded feedback within two weeks.

You are encouraged to provide constructive comments for improving this course for furthering your learning throughout the semester. There will be an opportunity for anonymous course feedback at the end of the term, in which I hope you all participate. Through your feedback I can improve this course and others for future students.

Academic Integrity

I will abide by the above syllabus and grade your work fairly.

As stated in the Hendrix Academic Integrity Policy, all students have agreed to adhere to the following principles:

  • All students have an equal right to their opinions and to receive constructive criticism.
  • Students should positively engage the course material and encourage their classmates to do the same.
  • No students should gain an unfair advantage or violate their peers' commitment to honest work and genuine effort. It follows that any work that a student submits for class will be that student's own work. The amount of cooperation undertaken with other students, the consistency and accuracy of work, and the test-taking procedure should adhere to those guidelines that the instructor provides.
  • Members of the Hendrix community value and uphold academic integrity because we recognize that scholarly pursuits are aimed at increasing the shared body of knowledge and that the full disclosure of sources is the most effective way to ensure accountability to both ourselves and our colleagues.
More details of our departmental stance on integrity can be found in the Hendrix Computer Science Academic Integrity Policy

Learning Accomodation

I will make this classroom an open and inclusive environment, accommodating many different learning styles and perspectives.

Any student seeking accommodation in relation to a recognized disability should inform me at the beginning of the course. It is the policy of Hendrix College to accommodate students with disabilities, pursuant to federal and state law. Students should contact Julie Brown in the Office of Academic Success (505.2954; to begin the accommodation process.

Physical and Mental Health

I am willing to work with you individually when life goes off the rails.

Coursework and college in general can become stressful and overwhelming, and your wellness can be impacted when you least expect it. You should participate in self-care and preventative measures, and be willing to find support when you need it.

  • The Office of Counseling Services welcomes all students to see a counselor in a private and safe environment regardless of their reasons for making an appointment. Counseling services are available to all Hendrix students at no cost.
  • Student Health Services provides free healthcare to Hendrix students. Services are provided by an Advanced Practice Registered Nurse (APRN) in collaboration with a local physician.

The Offices of Counseling Services and Student Health Services are located in the white house behind the Mills Center for Social Sciences at 1541 Washington Avenue.