COSC 235 - Spring 2021

Course Information

  • Instructor: Dr. Aaron Garrett (garrettal@wofford.edu)
  • Class Meeting (Olin 207A): MWF 1:00p-1:50p (Section B)
  • Office Hours (Zoom): MTW 3:00p-4:00p; or by appointment
  • Textbook: Using Python 3 to Solve Problems Using a Computer by David Sykes and David Toth
  • Required Software Mimir Classroom (available in bookstore)
  • 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.
Labs/Hands-on
Labs/Hands-on exercises are ungraded (but recommended) practice with the course material.
Artifact Points
Assignments (~10) 200
Projects (~3) 300
Quizzes (~10) 100
Midterm Exam 200
Final Exam 200
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. If the score on the final exam is greater than the score on the midterm exam, the final exam score will be used in place of the midterm exam for final grade calculations.

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.

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.

Meeting Topics Hands-On Labs Graded
Jan 4 print, variables, data types, input L01
6 comments, conversion, arithmetic H01 L02
8 booleans, conditionals, truth tables L03 Q01
11 iteration, accumulators H02 L04
13 conditional iteration, nested loops H03 L05
15 functions, parameters, returns L06 Q02,A01
20 function practice, lists, pseudorandom numbers H04 L07
22 Q03,A02
25 string manipulation H06 L08
27 file input/output H07 L09
29 tuples L10 Q04,A03
Feb 1 sorting H08 L11
3 dictionaries H09 L12
5 tabular data L13 Q05,A04
8 numeric bases, unicode H10 L14
10 rock paper scissors L15 P01
12 Midterm Review A05
15 Midterm Exam ME1
17 Midterm Exam ME2
19 Midterm Postmortem
22 two-dimensional data H11 L16
24 digital images H12 L17
26 compression L18 Q06
Mar 1 recursion H13 L19
3 recursion H14 L20
5 recursion L21 Q07,A06
8 searching H15 L22
10 sorting H16 L23 P02
12 Q08,A07
15 turtles H17 L24
17 GUIs H18 L25
19 classes L26 Q09,A08
22 classes
24 classes
26 Q10,A09
29
31 P03
Apr 2 Final Review A10

Note: This syllabus is subject to change with notice.