Textbook: To be determined
Web Sites:
| INSTRUCTOR: | Stephen Fyfe | OFFICE: | VSC 231 |
| BOX # | 039 | PHONE: | 5305 |
| HOME | 628-9955 | ||
| EMAIL: | fyfes@central.edu | ||
| OFFICE HOURS: | MWF: 9:00 - 10:00 | TR: 9:30 - 11:00 | |
| Other times by appointment, or just stop in | |||
COURSE DESCRIPTION: Studies the implementation of common data structures such as stacks, queues, linked lists, and trees. Intermediate programming topics such as recursion, analysis of algorithms, and other topics will be introduced. Students will spend a significant amount of time out of class designing, writing, collaborating on, and debugging classes and programs.
By completing this course, students will:
COURSE PROCEDURES: This course will mainly utilize lecture and in-class hands-on work. A typical topic will begin with some lecture over the material and will include some in-class programming to apply the material being presented. This in-class work may or may not be turned in. Most topics will also generally include some out of class homework assignments. Several larger out of class programming assignments that can be completed in pairs will also be given.
Unless stated otherwise, ALL programming completed for this class should follow these programming guidelines.
Academic Honesty. Collaboration in Computer Science, as in almost any field, is very important. However, it is also important that individual students learn the material. When developing a program it is often beneficial to talk with others to get their input, however you or your group should not be turning in the work of another individual or group. It is acceptable to look at another individuals code if you are assisting them. You should not, however, let someone look at your code in order to show them how you did it, or to give them specific instructions on how they should change their code (other than to find syntactical errors).
Plagiarism and cheating of any form are serious offenses and may result in an F for the assignment, the course, or expulsion from the college. The details of Central's Academic Integrity policy are found in the Student Handbook, on the web. A copy will be sent to you via e-mail during the first week of the semester. It is your responsibility to read and understand the contents of that policy before you submit work to be graded. Questions regarding the policies and enforcement of the policies may be addressed to me during class or during office hours.
GRADING PROCEDURES: Students will be evaluated on their understanding of the concepts being covered in class, and their ability to apply those concepts in homework problems and programming projects.
Many homework assignments and short programming assignments (programs that require 1 to 2 days to complete) will be given. In addition, three group programming projects (programs that will take 2 - 3 weeks to complete) will be assigned. Three tests will be given throughout the semester in addition to the comprehensive final exam.
The final grade will be determined by the following distribution:
| Homework and other in-class assignments | 20% |
| Paired Programming Projects | 35% |
| 3 tests | 30% |
| Final Exam | 15% |
and the following TENTATIVE scale will be used to determine the final grade
| 94 - 100 | A | 73 - 76 | C |
| 90 - 93 | A- | 70 - 72 | C- |
| 87 - 89 | B+ | 65 - 69 | D+ |
| 83 - 86 | B | 60 - 65 | D |
| 80 - 82 | B- | 55 - 59 | D- |
| 77 - 79 | C+ | 00 - 54 | F |
Written homework and programming assignments will be due by 5:00 pm on the day it is due. Late homework will be accepted, but will lose points at the discretion of the instructor. Work that has been turned in after the assignment or project has been graded and returned will receive a more severe late penalty.
Attendance. While attendance is not directly included in the grading, it has been the experience of the instructor that students who miss more class earn lower grades. Students who miss class regularly will be notified through the Academic alert system.
Mock Trial participants, choir tour participants, athletes, and others who must miss a class for participating in a college sanctioned event are expected to notify me in advance and complete work including tests in advance of the absence. It is the student's responsibility to communicate with me in advance regarding their absences and determine a schedule for make up work.
Disabilities. Central College abides by interpretations of the Americans with Disabilities Act and Section 504 of the Rehabilitation Act of 1973 that stipulates no student shall be denied the benefits of an education "solely by reason of a handicap." Disabilities covered by law include, but are not limited to, learning disabilities, hearing, sight, or mobility impairments, and other health related impairments. If you have a documented disability that may have some impact on your work in this class for which you may require accommodations, please see me and Nancy Kroese, Director of Student Support Services and Disabilities Services Coordinator, (x 5247) during the first two weeks of the semester so that such accommodations may be arranged.
COURSE SCHEDULE: The following is a TENTATIVE list of topics for the course and a schedule for the first few weeks of class. Changes may be made during the semester as needed.
List of topics:
| Week | Topic | Chapter/Assignment | Paired Project |
| 1 | Python Review OO Concepts: OOP introduction and Python classes Data Structures vs. Algorithms |
Chapter 8 Review Program |
|
| 2 | Object Oriented Concepts: Building a program with classes Object Interaction |
Chapter 8 Dice/Player program |
|
| 3 | Object Oriented Concepts: GUIs and Events
|
Chapter 9 | War data classes |
| 4 | Object Oriented Concepts: Using libraries - Pygame and Numpy Basic Data structures and Collections: Two dimensional arrays |
Chapter 13 | War GUI and Game Logic Manipulating Sound Arrays |
| 5 | Basic Data Structures and collections: Linked Lists and nodes Analysis: Linked Lists versus arrays TEST 1 |
||
| 6 | Linked Lists implementation | Chapter 16 | Linked Lists homework |
| 7 | Linked Lists
|
Chapter 16 Chapter 11 |
Collage Paired Project |
| 8 | List algorithms: sorting and searching Analysis: Big O notation |
Chapter 11 | Searching and Sorting HW |
| 9 | Data Structures: Stacks and Queues | ||
| 10 | Data Structures: Stacks and Queues Algorithms: Recursion |
Stack and Queue HW | |
| 11 | Algorithms: Recursion TEST 2 |
||
| 12 | Data Structures: Dictionaries and Hashes | Boggle Project | |
| 13 | Data Structures: Trees | ||
| 14 | Data Structures: Trees | ||
| 15 | Data Structures: Graphs Algorithms: Pattern Matching TEST 3 |
||
| 16 | Data Structures: Graphs Algorithms: Pattern Matching |
||
| 17 | FINAL EXAM |