Course Information
- Instructor: Dr. Aaron Garrett (garrettal@wofford.edu)
- Class Meeting (Olin 213): MWF 11:30a-12:20p
- Office Hours (Olin 111A): MW 2:00p-4:30p; TR 1:00p-2:30p; or by appointment
- Textbook: None
- Required Software Coddy (discussed in class)
- Final Exam: See the Registrar’s page
- Online Videos: There are plenty of video tutorials online. Here is just one example.
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.
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.
- Quizzes
- Quizzes are short, timed assessments of conceptual understanding.
- Exams
- Exams are comprehensive, timed assessments of conceptual understanding.
- Chapters
- Chapter exercises are ungraded (but recommended) practice with the course material.
Artifact | Points |
---|---|
Assignments (~8) | 80 |
Projects (~2) | 120 |
Quizzes (~5) | 50 |
Exam 1 | 150 |
Exam 2 | 150 |
Exam 3 | 150 |
Final Exam | 300 |
Total | 1000 |
Note that the final exam is comprehensive and very applied. Success on it requires that students have practiced throughout the term, and completing the assignments and projects are the best way to practice.
The usual grading scale will be applied to the accumulated percentage: 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. That includes having completed assigned readings, problem sets, and tutorials.
You are expected to dedicate your attention to what is going on in class and to participate fully in classroom activities, including discussions. No laptops or tablets are to be used in class unless being used for a classroom exercise. (Notes may be taken using a device if needed as an approved accommodation.)
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 11:55p ET on 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.
Generative AI Policy
Generative AI is NOT allowed in this course. This course is foundational, emphasizing the development of essential skills such as writing and understanding code, as well as enhancing analytical and critical thinking abilities. To achieve the learning outcomes, all assignments must be completed individually by the student. Generative AI is a powerful tool, but it should be used by individuals with a solid understanding of the domain it is applied to. This course is designed to build that foundational knowledge, ensuring you have the skills needed to effectively use such tools in your future career. Therefore, the use of generative AI for any part of your work in this course is strictly prohibited. Any AI-generated content submitted as part of your assignments will be treated as plagiarism and a violation of the Honor Code.
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
Generally, projects are due on Wednesdays, and assignments are due on Fridays.
MWF | Topic | Chapter | Deadline | |
---|---|---|---|---|
Aug | 28 | print, variables, data types, input | C01 | |
30 | comments, conversion, arithmetic | C02 | ||
Sep | 4 | booleans, conditionals, truth tables | C03 | A1 |
6 | iteration, accumulators | C04 | ||
9 | conditional iteration, nested loops | C05 | ||
11 | numeric bases, unicode | C06 | A2 | |
13 | ||||
16 | ||||
18 | Exam 1 | |||
20 | functions, parameters, returns | C07 | ||
23 | function practice, lists, pseudorandom numbers | C08 | ||
25 | string manipulation | C09 | ||
27 | C10 | |||
30 | ||||
Oct | 2 | |||
4 | ||||
7 | tuples, dictionaries | C11 | ||
9 | a game | C12 | A3 | |
11 | ||||
14 | ||||
16 | Exam 2 | A4 | ||
21 | sorting | C13 | ||
23 | file input/output | C14 | ||
25 | tabular data | C15 | ||
28 | two-dimensional data | C16 | ||
30 | digital images | C17 | A5 | |
Nov | 1 | compression | C18 | P1 |
4 | ||||
6 | A6 | |||
8 | ||||
11 | Exam 3 | |||
13 | recursion | C19 | ||
15 | recursion | C20 | ||
18 | recursion | C21 | A7 | |
20 | searching | C22 | ||
22 | sorting | C23 | ||
Dec | 2 | turtles | C24 | A8 |
4 | GUIs | C25 | ||
6 | classes | C26 | P2 |
Note: This syllabus is subject to change with notice.