Sunday |
Monday |
Tuesday |
Wednesday |
Thursday |
Riley (7-9) |
Chris (6-8) |
Ryan (6-8) |
Joseph (6-8) |
Jada (7-9) |
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.
Upon completing this course, our goal is for you to be able to:
- Build computer programs to:
- Effectively solve realistic problems.
- Organize, analyze, and summarize realistic data sets.
- Read, understand, and explain a computer program.
- Understand and explain computation through:
- Thinking logically and precisely.
- Making and testing hypotheses.
- Use modular components to decompose problems and assemble solutions.
- Create abstract, generalized models from specific, complex examples.
- Find pertinent information from programming language documentation.
Date |
Topic |
8am |
11am |
HW and Links |
|
|
|
|
|
W 23 Aug |
Intro to CS |
 |
 |
HW: Survey |
F 25 Aug |
Intro to CSCI 150; Algorithms and errors |
 |
 |
HW: Minecraft by hand |
|
|
|
|
|
M 28 Aug |
Intro to Python (math, variables) |
 |
 |
HW: Sign up for CodeGrade |
W 30 Aug |
Intro to Python (functions) |
 |
 |
|
F 1 Sep |
Booleans |
 |
 |
HW: Boolean practice |
|
|
|
|
|
M 4 Sep |
Labor Day |
|
|
|
W 6 Sep |
Conditionals |
|
|
|
F 8 Sep |
Tracing I |
 |
|
HW: CodingBat Conditional and By Hand Tracing Practice |
|
|
|
|
|
M 11 Sep |
PyCharm and I/O |
 |
 |
Practice Exam 1 |
W 13 Sep |
Generative AI |
 |
 |
|
F 15 Sep |
Exam 1 Review |
 |
 |
|
|
|
|
|
|
M 18 Sep |
Exam 1 |
|
|
|
W 20 Sep |
The while loop |
 |
 |
Project 1 Assigned: Civic Assistance Q/A System |
F 22 Sep |
Functions and stack tracing |
 |
 |
|
|
|
|
|
|
M 25 Sep |
Functions and stack tracing |
 |
 |
HW: Function Stack Tracing |
|
 |
|
|
|
W 27 Sep |
Strings |
 |
 |
|
F 29 Sep |
Strings and Loops |
 |
|
HW: CodingBat String and Loop practice |
|
|
|
|
|
M 2 Oct |
Lists |
|
|
Project 1 Due |
W 4 Oct |
List processing examples |
|
|
|
F 6 Oct |
Function Abstraction |
|
|
HW: CodingBat List and Loop practice |
|
|
|
|
|
M 9 Oct |
The for loop |
|
|
Project 2 Assigned: Word Games |
W 11 Oct |
More for loop practice |
|
|
|
F 13 Oct |
Fall Break |
|
|
|
|
|
|
|
|
M 16 Oct |
File I/O |
|
|
|
W 18 Oct |
The Heap and Mutability |
|
|
|
F 20 Oct |
Exam 2 Review |
|
|
|
|
|
|
|
|
M 23 Oct |
Exam 2 |
|
|
|
W 25 Oct |
Dictionaries I |
|
|
|
F 27 Oct |
Dictionaries II |
|
|
HW: CodingBat more loop practice |
|
|
|
|
|
M 30 Oct |
Intro to Classes |
|
|
|
W 1 Nov |
Classes/objects example 1 |
|
|
|
F 3 Nov |
Classes/objects example 2 |
|
|
HW: Heap Tracing Homework |
|
|
|
|
|
M 6 Nov |
Intro to PyGame |
|
|
Project 2 Due |
W 8 Nov |
PyGame |
|
|
|
F 10 Nov |
Classes and PyGame |
|
|
HW: Class & Dictionary practice |
|
|
|
|
|
M 13 Nov |
Final Project Discussion |
|
|
Project 3 Assigned: Final Project |
W 15 Nov |
Heap Tracing Practice |
|
|
|
F 17 Nov |
Exam 3 Review |
|
|
Project 3 Proposal Due |
|
|
|
|
|
M 20 Nov |
Exam 3 |
|
|
|
T 21 Nov |
Exam 3 Take Home Due |
|
|
|
W 22 Nov |
Thanksgiving Break |
|
|
|
F 24 Nov |
Thanksgiving Break |
|
|
|
|
|
|
|
|
M 27 Nov |
Recursion |
|
|
|
W 29 Nov |
Recursion (trees) |
|
|
|
F 1 Dec |
Project Workshop in Class |
|
|
|
|
|
|
|
|
F 8 Dec |
Final Project Presentations |
|
|
|
|
11am section: 8:30am-11:30am |
|
|
|
|
8am section: 2:00pm-5:00pm |
|
|
|
|
|
|
|
|
Coursework
[Adapted from Spencer Bagley and David Clark, via Robert
Talbert]
CSCI 150 uses a real-world policy on due dates—but this may not
mean what you think! In the real real world, due dates exist but
they are often not ironclad. The purpose of deadlines is usually to
help motivate you to complete the task, but if you need more time to
get the job done well, you email whoever set the deadline to ask if
you can have more time. Studies have shown that deadline extension
requests—in moderation and when truly needed—often lead to
better employee evaluations (not to mention better work). [See Go
Ahead and Ask for More Time on that
Deadline
by Ashley Williams.]
If you need an extension on a due date, email me and explain what
you need, and it will probably be fine. It helps if you propose a
concrete new deadline (e.g. “I can get it done by 5pm on
Wednesday”). If you ask for lots of extensions, we’ll work together
to find a way to help you keep up. Note, however, that late
submissions may not receive feedback as quickly as on-time
submissions.
If you have significant extenuating circumstances that cause you to
miss multiple deadlines, please come to office
hours to discuss broader accommodations. I’m
happy to be flexible, but it helps to know what you need so I can
figure out the best way to help.
Each student should schedule and attend at least two office hour
meetings with either their lecture or lab instructor at some point
during the semester.
There will often be short homework assignments to be completed,
typically assigned on Friday and due Wednesday. Homework with coding
practice problems will be submitted electronically. By-hand homework
should be submitted on physical paper at the start of class time –
you can write (neatly) or type and print such solutions.
Wednesday Lab Code of Conduct
# |
Name |
Completion time |
Assigned |
Due |
0 |
Minecraft |
1-2 hrs |
23-24 Aug |
30-31 Aug |
1 |
Kepler, Newton, Einstein |
2-3 hrs |
30-31 Aug |
6-7 Sep |
2 |
Diagnosing Heart Disease |
2.5-3.5 hrs |
6-7 Sep |
13-14 Sep |
3 |
This Day in History |
2-3 hrs |
13-14 Sep |
20-21 Sep |
4 |
Guess My Number |
3-4 hrs |
20-21 Sep |
27-28 Sep |
5 |
Mutation is the Word |
4-5 hrs |
27-28 Sep |
4-5 Oct |
6 |
Todo Manager |
3.5-4.5 hrs |
4-5 Oct |
18-19 Oct |
|
No lab (fall break) |
|
11-12 Oct |
|
7 |
Caesar’s Secrets |
3.5-4.5 hrs |
18-19 Oct |
25-26 Oct |
8 |
Sentiment Analysis |
3.5-4.5 hrs |
25-26 Oct |
1-2 Nov |
9 |
Water Jugs |
3.5-4.5 hrs |
1-2 Nov |
8-9 Nov |
10 |
Faces |
2.5-3.5 hrs |
8-9 Nov |
15-16 Nov |
11 |
Tornado Sirens |
3.5-4.5 hrs |
15-16 Nov |
29-30 Nov |
12 |
(Optional) Project 3 Workshop |
|
29-30 Nov |
|
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.
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.
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.
# |
Name |
Average time |
Assigned |
Due |
1 |
Civic Assistance Q/A System |
3:30 |
20 Sep |
2 Oct |
2 |
Word Games |
5:50 |
9 Oct |
6 Nov |
3 |
Final Project |
12:45 |
13 Nov |
8 Dec |
You will have three projects in this course. These projects will cover concepts we have discussed in class and in labs, and will be due approximately two to three weeks after they are assigned.
You must work individually on the 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.
There will be three exams. Each exam will have two parts:
There is no final exam; you will complete a final project instead, as
described above under Projects.
Each assignment is assessed as Complete, Partially Complete or Incomplete.
Criteria for the first two categories will be specified for each assignment. Final course
grades are earned based on cumulative assignment outcomes:
- To earn an A in the course, a student will:
- Complete two exams and at least Partially Complete the remaining exam.
- Complete all three projects.
- Complete a minimum of eight homework assignments, with the other two at least Partially Complete.
- Up to one unexcused lab absence, and Complete a minimum of 11 lab assignments, with the other two at least Partially Complete.
- Schedule and attend a minimum of two Office Hours meetings.
- To earn a B in the course, a student will:
- Complete two exams and at least Partially Complete the remaining exam.
- Complete a minimum of two projects and at least Partially Complete the remaining project.
- Complete a minimum of four homework assignments and at least Partially Complete a minimum of four more.
- Up to one unexcused lab absence, Complete a minimum of eight of the lab assignments, and at least Partially Complete a minimum of four more.
- Schedule and attend at least one Office Hours meeting.
- To earn a C in the course, a student will:
- At least Partially Complete a minimum of two exams.
- One of the following:
- At least Partially Complete all three projects.
- Complete the final project and at least Partially Complete one of the first two projects.
- At least Partially Complete a minimum of six homework assignments.
- Up to two unexcused lab absences, Complete at least four of the lab assignments, and at least Partially Complete a minimum of six more.
- Schedule and attend at least one Office Hours meeting.
- To earn a D in the course, a student will:
- At least Partially Complete a minimum of two exams.
- At least Partially Complete a minimum of two projects.
- At least Partially Complete a minimum of four homework assignments.
- Up to three unexcused lab absences and at least Partially Complete a minimum of nine lab assignments.
Revising submitted work
If a submitted assignment receives a Partial assessment and the student seeks a Complete assessment:
- In most cases, detailed feedback will be provided with requirements necessary for a revision to be considered Complete. A deadline will also be established – typically a week after the assignment is returned.
- If the student has any questions or is uncertain what those requirements are, they should schedule an office hour appointment.
- Individual students can request extensions of their deadlines – typically, unless the student has abused this throughout the semester, requests will be granted.
- If the student submits revisions which meet the requirements by the deadline, the revised work will receive a Complete assessment.
If a submitted assignment receives a Incomplete assessment, a similar list of requirements will be provided. In most cases, an Incomplete assignment can only be upgraded to Partially Complete, but the instructor reserves the right to allow students to achieve Complete on a case-by-case basis.
Although you and I play different roles in the course, we both have
your learning as a common goal. There are things I expect from you as
a student in the course, but there are also things you can expect of
me as the course instructor and facilitator.
If I am not fulfilling my responsibilities outlined below, you are
welcome (and encouraged!) to call me out, perhaps via the anonymous
feedback form. I will also
initiate a conversation if you are not fulfilling yours. However, none
of us will meet all of the expectations perfectly—me included!—so
it’s also important that we have grace and patience with one another.
|
What I expect from you |
What you can expect from me |
Communication |
- Check your email and Teams for occasional course
announcements.
- Let me know via email or Teams message if you will need to miss class
for some reason.
- Let me know as soon as possible if you feel you are
struggling, would like extra help, or have something
going on that will affect your engagement in the
course or your ability to fulfill your
responsibilities.
|
- Clearly communicate expectations, assignment
details and dates, and grading standards.
- Return grades and feedback on submitted work within
one week of submission.
- Respond to emails within 24 hours.
|
Preparation |
- Come prepared to fully engage in class meetings, with
distractions minimized, to the best of your ability.
- Spend time outside of class actively practicing
unfamiliar or shaky concepts or skills (not just
reading over notes).
|
- Have a concrete plan for how we will
spend each class meeting, prepared to lead you through the
plan.
|
Engagement |
|
- Make myself available to meet outside of class, and
give you my full attention during a meeting.
- Be committed to your learning, open to feedback and
willing to respond in substantive ways to your
suggestions or concerns.
|
Attendance in this class is not required as part of your grade.
However, I do expect you to attend and appreciate knowing in advance
if you will need to miss class.
If you have a documented disability or some other reason that you
cannot meet the above expectations, and/or your learning would be best
served by a modification to the usual course policies, I would be
happy to work with you—please get in touch (via Teams or email)! The
course policies are just a means to an end; I don’t care about the
policies per se but I do care about you and your learning.
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;
brownj@hendrix.edu) to begin the accommodation process. Any student
seeking accommodation in relation to a recognized disability should
inform the instructor at the beginning of the course.
Hendrix College values a diverse learning environment as outlined in
the College’s Statement on Diversity. All members of this community
are expected to contribute to a respectful, welcoming, and inclusive
environment for every other member of the community. If you believe
you have been the subject of discrimination please contact Dean Mike
Leblanc at leblanc@hendrix.edu or
501-450-1222 or the Title IX Coordinator Jennifer Fulbright at
titleix@hendrix.edu or 501-505-2901. If
you have ideas for improving the inclusivity of the classroom
experience please feel free to contact
me. For more information on
Hendrix non-discrimination policies, visit
hendrix.edu/nondiscrimination.
Hendrix recognizes that many students face mental and/or physical
health challenges. If your health status will impact attendance or
assignments, please communicate with me as soon as possible. If you
would like to implement academic accommodations, contact Julie Brown
in the office of Academic Success
(brownj@hendrix.edu). To maintain
optimal health, please make use of free campus resources like the
Hendrix Medical Clinic or
Counseling Services (501.450.1448). Your health is important, and I
care more about your health and well-being than I do about this class!