Course Information
- Instructor: Dr. Aaron Garrett (garrettal@wofford.edu)
- Class Meeting (Olin 218): MWF 10:30a-11:20a
- Office Hours (Olin 204E): MWF 10:00a-10:30a, 11:30a-12:00p, 2:00p-3:00p; TR 10:00a-12:00p; or by appointment
- Textbook: Discovering Computer Science by Jessen Havill
- Final Exam: 15 Dec 2017 from 9:00a-12:00p
Catalog Description
Students learn to develop programs using an object-oriented language. Students are introduced to problem solving and algorithm development with emphasis on good programming style. Completion of this course with a C or higher is a prerequisite for all 300- and 400- level courses in Computer Science.
Goals
- Understand the Python syntax and semantics.
- Develop strong problem-solving capabilities.
- Gain skill in translating a problem statement into an algorithm.
- Understand the basic computing principles that underlie programs.
- Create programs that are readable and maintainable.
Computer scientists are (quite literally) the wizards of the modern world. For those of you who intend to major in CS, my goal is to put you on the path to becoming a great and powerful wizard. For those who are interested only in dabbling in magic, my goal is to teach you a few very useful spells that you can use in your career to make you far more efficient and effective.
Grades
Your grade in the course will be based on a combination of assignments, projects, and exams.
- Assignments
- Assignments are short exercises that reinforce the core concepts.
- Projects
- Projects are more complex problems that require a combination of concepts.
- Exams
- Exams are timed assessments of conceptual understanding.
- Homeworks
- Homeworks are ungraded (but recommended) practice with the course material.
Artifact | Points |
---|---|
Assignments (~15) | 30 |
Projects (~5) | 30 |
Midterm Exam | 20 |
Final Exam | 20 |
Total | 100 |
The usual grading scale will be applied to the accumulated points: 93–100: A, 90–92: A-, 87–89: B+, 83–86: B, 80–82: B-, 77–79: C+, 73–76: C, 70–72: C-, 60–69: D, 0–59: F.
Policies
Attendance
You are expected to attend class meetings and come to class prepared. Refer to the General Policy Regarding Attendance in the Wofford College Student Handbook. The policy makes you responsible for catching up on missed classes. If you must be absent for class, please email me in advance to let me know.
Make-up exams are not available. If you have a legitimate, excused absence during the midterm exam, then you must make it up during the final exam period.
Assignment Deadlines
Late assignments will not be accepted without a legitimate excuse. All assignments are expected to be submitted by the posted deadline.
Academic Integrity
The Honor Code requires faculty, staff, and students to maintain a high standard of individual honor and integrity. While I may specify some assignments as collaborative, work represented as your own must be your own. If you have any doubt about what is appropriate for a given assignment, you should contact me for clarification.
Accommodations
If you have a disability that requires assistance or accommodation, or if you have questions related to any accommodations for testing, note takers, readers, etc., please contact Dean Beth Wallace by telephone at (864) 597-4371 or in person by visiting the Hugh R. Black Infirmary. You must arrange accommodations during the first week of classes.
Tentative Schedule
Meeting | Topics | Textbook | Homework | Deadline |
---|---|---|---|---|
4 Sep | input, print, variables | 2.1, 2.3 | H00 | |
6 Sep | data types, conversion, arithmetic | 2.2, 2.4 | H01 | |
8 Sep | booleans, conditionals | 5.1, 5.4 | H02 | A01 |
11 Sep | iteration, accumulators | 3.2 | H03, H04 | |
13 Sep | functions, turtle graphics | 3.1, 3.3, 3.4 | H05, H06 | A02 |
15 Sep | value-returning functions | 3.5, 3.6 | H07 | |
18 Sep | accumulators, conditional iteration | 4.1, 4.3 | H08, H09 | |
20 Sep | lists, accumulators with lists | 4.2 | H10, H11 | A03 |
22 Sep | numeric bases | 1.4 | A04 | |
25 Sep | A05 | |||
27 Sep | ||||
29 Sep | ||||
2 Oct | list methods, foreach, zip, enumerate | H12, H13 | ||
4 Oct | pseudorandom numbers | 5.1, 5.2 | H14 | P01 |
6 Oct | string manipulation and methods | 6.1, 6.3 | H15, H16 | A06 |
9 Oct | truth tables, unicode | 5.4, 6.3 | H17 | |
11 Oct | A07 | |||
16 Oct | Midterm Exam review | |||
18 Oct | Midterm Exam | |||
20 Oct | Midterm Exam | P02 | ||
23 Oct | file input/output | 6.2 | H18 | |
25 Oct | nested loops | 6.2 | H19 | A08 |
27 Oct | tuples, list comprehensions | 8.2 | H20 | |
30 Oct | dictionaries | 8.3 | H21 | |
1 Nov | tabular data | 8.4 | H22 | |
3 Nov | A09 | |||
6 Nov | two-dimensional data | 9.1 | H23 | |
8 Nov | digital images | 9.3 | H24 | |
10 Nov | recursion | 10.2 | H25 | P03 |
13 Nov | recursion | 10.4 | H26 | |
15 Nov | searching | 11.1 | A11 | |
17 Nov | sorting | 11.2 | ||
20 Nov | classes | 13.1 | H27 | A12 |
27 Nov | classes | 13.2 | ||
29 Nov | classes | 13.3 | ||
1 Dec | classes | A14 | ||
4 Dec | classes | |||
6 Dec | Final Exam review | |||
8 Dec | Final Exam review | P04 |
Note: This syllabus is subject to change with notice.