COSC 235 - Spring 2019

Course Information

  • Instructor: Dr. Aaron Garrett (garrettal@wofford.edu)
  • Class Meeting (Olin 210): MWF 11:30a-12:20p (Section A); MWF 1:00p-1:50p (Section B)
  • Office Hours (Olin 204E): MW 2:00p-4:30p and TR 1:00p-3:30p; or by appointment
  • Textbook: Fundamentals of Python by Kenneth A. Lambert
  • Required Software Mimir Classroom (available in bookstore)
  • Final Exam: 17 May 2019 from 2:00p-5:00p (Section A); 15 May 2019 from 9:00a-12:00p (Section B)
  • 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.

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.

Quizzes
Quizzes are regular, brief assessments of conceptual understanding.
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 comprehensive, timed assessments of conceptual understanding.
Homeworks
Homeworks are ungraded (but recommended) practice with the course material.
Artifact Points
Quizzes (~10) 100
Assignments (~10) 200
Projects (~3) 300
Midterm Exam 200
Final Exam 200
Total 1000

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, quizzes are on Mondays, projects are due on Wednesdays, and assignments are due on Fridays.

Meeting Topics Textbook Deadline
04 Feb input, print, variables Ch. 2
06 Feb data types, conversion, arithmetic Ch. 2
08 Feb booleans, conditionals, truth tables Ch. 3
11 Feb iteration, accumulators Ch. 3 Q01
13 Feb conditional iteration, nested loops Ch. 3
15 Feb functions Ch. 5 pg. 146-149 A01
18 Feb value-returning functions Ch. 5 pg. 146-149 Q02
20 Feb string manipulation Ch. 4
22 Feb file input/output Ch. 4 A02
25 Feb list methods, foreach, zip, enumerate Ch. 5 Q03
27 Feb tuples, list comprehensions Ch. 5
01 Mar SIGCSE - NO CLASS MEETING A03
04 Mar dictionaries Ch. 5 Q04
06 Mar tabular data
08 Mar pseudorandom numbers Ch. 3 A04
11 Mar numeric bases, unicode Ch. 4 Q05
13 Mar P01
15 Mar A05
18 Mar Midterm Exam review
20 Mar Midterm Exam Midterm
22 Mar Midterm Exam Midterm
25 Mar two-dimensional data
27 Mar digital images Ch. 7
29 Mar
08 Apr recursion Ch. 6 Q06
10 Apr recursion Ch. 6
12 Apr recursion Ch. 6 A06
15 Apr searching Ch. 11 Q07
17 Apr sorting Ch. 11 P02
19 Apr sorting Ch. 11 A07
22 Apr turtle graphics Q08
24 Apr GUIs Ch. 8
26 Apr GUIs Ch. 8 A08
29 Apr classes Ch. 9 Q09
01 May classes Ch. 9
03 May classes Ch. 9 A09
06 May classes Ch. 9 Q10
08 May classes Ch. 9 P03
10 May Final Exam review A10

Note: This syllabus is subject to change with notice.