COSC 235 - Fall 2017

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.