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.
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.
When we write code together in class, it will be posted here!
Coursework
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.
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
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.
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.
- Exam 1: Sep 20, covering functions, math, numerical data, conditionals, and binary encoding
- Exam 2: Oct 16, covering input/output, while loops, lists, and strings
- Exam 3: Nov 25, covering for loops, dictionaries, classes and objects
There is no final exam; you will complete a final project instead, as described above under Projects.
Score |
Grade |
900-1000 |
A |
800-899 |
B |
700-799 |
C |
600-699 |
D |
0-599 |
F |
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.
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.