Course Information
- Instructor: Dr. Aaron Garrett (garrettal@wofford.edu)
- Class Meeting (Olin 103): MWF 10:30a-11:20a
- Office Hours (Zoom): MW 3:00p-4:00p; or by appointment
- Textbook: None, but LearnCPP is one of many free resources available online
- Required Software Mimir Classroom (available in bookstore)
- Final Exam: 9 Dec 2020 from 9:00a-12:00p
Catalog Description
An introduction to the formal study of data structures, such as arrays, stacks, queues, lists, and trees, along with algorithm design and analysis of efficiency.
Prerequisite: COSC 235 with a minimum grade of C.
Goals
- Understand abstraction and how it helps to control complexity
- Understand the concept of an abstract data type (ADT) and how to implement custom ADTs
- Understand how to use and implement common CS data structures
- Understand how memory is managed within a C++ program
- Understand how to use arrays, structures, and pointers to implement ADTs
- Understand tradeoffs among various implementations for a given interface
- Understand recursion and be able to use it to solve problems
- Understand the concepts of algorithmic complexity and “Big O” notation
- Be able to determine the time complexity of an algorithm
- Be familiar with commonly used algorithms for interacting with data structures
- Be able to implement ADTs in C++
- Be proficient with the C++ programming language
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 | 20 |
Projects | 40 |
Midterm Exam | 20 |
Final Exam | 20 |
Total | 100 |
An alternative grading scheme is available for those who would benefit from it. Under the alternative scheme, only the final exam counts toward the final score (at 5x points). 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. Students do not choose the standard or alternative grading scheme; instead, points will be calculated both ways, and the higher final point total will be used to determine the grade at the end of the term.
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. 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, assignments are due on Wednesdays and projects are due on Fridays.
This YouTube series might be helpful for basic C++ language understanding. And this YouTube series focuses on data structures. Both have individual videos linked below.
Note: This syllabus is subject to change with notice.