LECTURE 01
MWF 11:10am - 12:00pm (A4)
Location
M.C. Reynolds 110
Instructor
Prof. Lars Seme
seme@hendrix.edu
(501) 450-1256
Office Hours
Sunday |
Monday |
Tuesday |
Wednesday |
Thursday |
6-8 PM |
5-7 PM |
7-9 PM |
7-9 PM |
6-8 PM |
Katherine Reid |
Leigh Johnston |
Ted Bjurlin |
Joseph Washum |
Jauss Favorite |
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 |
Day |
Topic/Activity |
Quiz |
Assigned |
Due |
|
|
|
|
28 Aug |
Weds |
Introduction to CS |
|
Survey |
|
|
|
|
|
30 Aug |
Fri |
Algorithms and Errors |
|
HW: Minecraft by hand |
Survey |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 Sep |
Mon |
Labor Day - No class |
|
|
|
|
|
|
|
4 Sep |
Weds |
Python Math & Variables |
|
HW: Math and Variables |
HW: Minecraft by hand |
|
|
|
|
6 Sep |
Fri |
Functions |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 Sep |
Mon |
Booleans |
|
HW: Boolean practice |
HW: Math and Variables |
|
|
|
|
11 Sep |
Weds |
Conditionals |
Minecraft by Hand |
|
|
|
|
|
|
13 Sep |
Fri |
Tracing I |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 Sep |
Mon |
Pycharm I/O |
|
HW: CodingBat Conditional and By Hand Tracing Practice |
HW: Boolean Practice |
|
|
|
|
18 Sep |
Weds |
More Conditionals |
Math and Variables |
|
|
|
|
|
|
20 Sep |
Fri |
The while loop |
|
Project 1: Civic Assistance Q/A System |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 Sep |
Mon |
More while loop |
|
HW: Loops |
HW: CodingBat Conditional and By Hand Tracing Practice |
|
|
|
|
25 Sep |
Weds |
Functions & Stack Tracing |
Booleans |
|
|
|
|
|
|
27 Sep |
Fri |
Functions & Stack Tracing |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 Sep |
Mon |
Strings |
|
HW: Function Stack Tracing |
HW: Loops |
|
|
|
|
2 Oct |
Weds |
Strings and Loops |
Conditionals |
|
|
|
|
|
|
4 Oct |
Fri |
More Strings and Loops |
|
|
Project 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 Oct |
Mon |
Lists |
|
HW: CodingBat String and Loop practice |
HW: Function Stack Tracing |
|
|
|
|
9 Oct |
Weds |
List Processing Examples |
Loops |
|
|
|
|
|
|
11 Oct |
Fri |
Function Abstraction |
|
Project 2: Word Games |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 Oct |
Mon |
The for loop |
|
HW: CodingBat List and Loop practice |
HW: CodingBat String and Loop Practice |
|
|
|
|
16 Oct |
Weds |
Common loop patterns |
Function Stack Tracing |
|
|
|
|
|
|
18 Oct |
Fri |
Fall Break - No class |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 Oct |
Mon |
File I/O |
|
HW: File I/O |
HW: CodingBat List and Loop Practice |
|
|
|
|
23 Oct |
Weds |
More File I/O |
Strings and Loops |
|
|
|
|
|
|
25 Oct |
Fri |
The Heap and Mutability |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 Oct |
Mon |
Dictionaries I |
|
HW: Dictionaries |
HW: File I/O |
|
|
|
|
30 Oct |
Weds |
Dictionaries II |
Lists and Loops |
|
Project 2 |
|
|
|
|
1 Nov |
Fri |
Final Project Discussion |
|
Final project |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 Nov |
Mon |
Classes |
|
HW: Classes |
HW: Dictionaries |
|
|
|
|
6 Nov |
Weds |
Class/object examples (cake; car) |
File I/O |
|
|
|
|
|
|
8 Nov |
Fri |
Class/object examples (bookshelf) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 Nov |
Mon |
PyGame animation |
|
HW: PyGame |
HW: Classes |
|
|
|
|
13 Nov |
Weds |
Classes and PyGame |
Dictionaries |
|
|
|
|
|
|
15 Nov |
Fri |
Classes and PyGame |
|
|
Final project: Design Document |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 Nov |
Mon |
Recursion I |
|
HW: Recursion |
HW: PyGame |
|
|
|
|
20 Nov |
Weds |
Recursion II: Trees |
Classes |
|
|
|
|
|
|
22 Nov |
Fri |
Recursion III: Applications |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 Nov |
Mon |
Binary and Information Encoding |
|
|
HW: Recursion |
|
|
|
|
27 Nov |
Wed |
Thanksgiving - No class |
|
|
|
|
|
|
|
29 Nov |
Wed |
Thanksgiving - No class |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 Dec |
Mon |
Generative AI |
|
|
|
|
|
|
|
4 Dec |
Fri |
Project Workshop |
|
|
|
|
|
|
|
6 Dec |
Fri |
Retrospective |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 Dec |
Fri 8:30-11:30 am (Seme) 2:00-5:00 pm (Ferrer) |
Final Project Presentations |
|
|
|
|
|
|
|
- Examples from lecture will be posted here!
Coursework
Short homework assignments will be typically assigned on Monday and due the
following Monday. 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.
Each correct homework earns one credit. Submitting a sincere attempt at
completing the homework on time earns one additional credit. If a
homework is incorrect and does not receive credit, a student who wishes to
revise the homework will be expected to visit office hours for feedback
prior to submitting the revision.
A short quiz will be given at the end of class on most Wednesdays. Each
quiz will contain one or more short problems that should be solvable within
10 minutes.
Quizzes are scored as follows:
- 2 credits: All answers correct
- 1 credit: At least some answers correct
- 0 credits: No answers correct
A student may retake a given quiz twice. For each retake, the student must
schedule an office hours appointment. Prior to the appointment, the student
is expected to have run the code from the quiz in Python and achieved an
understanding of why their answers were not correct. At the appointment,
the student will be expected to explain as best they are able why their
original answers were incorrect and what the correct answers should be.
After a satisfactory explanation, the instructor will give the student
a makeup quiz.
Missing a quiz is excused if the student communicates to the instructor
prior to class that day that it is necessary for the student to miss class.
A student may book an office hours appointment to take a quiz missed due to
an excused absence.
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.
Each lab consists of a series of milestones. At the start of each lab, you will receive a sheet of paper listing the
milestones for that lab. As you achieve each milestone, you will demonstrate to the instructor or TA that you have met the
milestone, and they will record this achievement on your checklist. When you complete all of the lab milestones, you will
submit the milestone checklist.
If you complete the lab during the lab period, hand your checklist to your lab instructor before you leave the lab. If you
require additional time beyond the lab period to complete the lab, either the instructor or the lab TA can check off the
remaining milestones during office hours. You can then submit the completed checklist to the instructor at the start of
the next lab.
Each completed lab earns one credit. Submitting the completed checklist by the start of the next lab earns
one additional credit.
You will work with a partner on each lab assignment. Each partner will have their own milestone checklist. If they do not
complete the milestones during the lab period, they should find time outside of lab to work together to complete them. If
they are unable to do so, only the instructor is authorized to record milestones for students working alone.
Lab attendance is required. If an extenuating circumstance impedes the attendance of lab, the student must contact
the lab instructor to discuss that circumstance for the absence to be excused. The student is still responsible
for completing the lab activity on-time.
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.
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 four weeks after they are assigned.
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.
Warning: You must work individually on the projects. You may discuss concepts and ideas with your classmates, but the code or work you turn in must be your own. Use of any resources (TA, StackOverflow, ChatGPT, etc) must be cited, and an overreliance on those resources can be counterproductive to developing your own ability to make progress in this and other courses.
Each project will be assessed as Level 1 Complete or Level 2 Complete, with criteria specified individually
for each project. Note that the final project must be submitted on-time to earn credit - no final projects
will be accepted late. Projects earn credits as follows:
Project |
Level 1 Complete |
Level 2 Complete |
On-time Bonus |
Maximum Credit |
1 |
2 |
4 |
1 |
5 |
2 |
2 |
4 |
1 |
5 |
3 |
4 |
8 |
None |
8 |
If a project receives less than Level 2 Complete, a student may submit a revised version of the project after an
office hours meeting with the instructor to discuss how the project should be improved.
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.
Final course grades are earned based on cumulative assignment outcomes. For each
category of assignment, there are three levels of mastery: Basic, Intermediate, and Advanced.
Labs
From the 12 labs, 24 total credits are available:
- Basic: Earn 15 lab credits, maximum of two unexcused absences
- Intermediate: Earn 19 lab credits, maximum of one unexcused absence
- Advanced: Earn 23 lab credits, no unexcused absences
Remember: For an absence to be excused, the student must discuss the
circumstances with the lab instructor.
Homework/Quizzes
Out of 13 homeworks and 11 quizzes, 48 total credits are available:
- Basic: Earn 24 homework and quiz credits
- Intermediate: Earn 34 homework and quiz credits
- Advanced: Earn 44 homework and quiz credits
Projects
From the three projects, 18 total credits are available:
- Basic: Earn 8 project credits
- Intermediate: Earn 13 project credits
- Advanced: Earn 17 project credits
Final Course Grade
- To earn an A in the course, a student will:
- Complete the course survey.
- Achieve Advanced in all three categories
- To earn a B in the course, a student will:
- Complete the course survey.
- Achieve at least Intermediate in all three categories.
- Achieve Advanced in at least one category.
- To earn a C in the course, a student will:
- Complete the course survey
- Achieve at least Basic in all three categories.
- Achieve one of:
- Advanced in at least one category.
- Intermediate in at least two categories.
- To earn a D in the course, a student will:
- Achieve at least Basic in all three categories.
Commitments
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; brownj@hendrix.edu) to begin the accommodation process.
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 Donna Eddleman
at eddleman@hendrix.edu or
501-450-1222 or the Title IX Coordinator Jennifer Fulbright at
titleix@hendrix.edu or 501-505-2901.
For more information on Hendrix non-discrimination policies, visit
hendrix.edu/nondiscrimination.
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.
Your health is important, and I care more about your health and well-being than I do about this class!