Course Syllabus
About this course: Computer Science Data Structures (CSDS) is a year long course that continues and extends the work that was started in AP Computer Science last year. CSDS focuses on fundamental algorithms and dynamic data structures, including linear lists, stacks, queues, trees, directed graphs, and other linked structures: arrays, strings, heaps, and hash tables. Topics includes elementary methods of complexity analysis applied to algorithms that manipulate dynamic and static data structures, as well as algorithms focused on sorting and searching methods. Emphasis is placed on the appropriate choice and use of standard data structures.
This course offers the students a mixture of theoretical knowledge and practical experience. Alternative techniques for solving problems will be discussed and implemented. The study of data structures and algorithms is carried out within an object-oriented framework. When implementations are considered, the Java programming language is used.
This class is provided in a blended learning format, where students have some choice over the time, place, path, or pace of the curriculum. As a practical example, there may be some days when student attendance is optional, but these days will be scheduled and announced in advance. On those days, I will still be present in the classroom and available as a resource for students who choose to attend. It is up to the student to manage their own coursework and stay up to date with the overall pace of the class as a whole.
Required Materials: Be sure to bring your MacBook computer to class every day, fully charged and ready to use. It is extremely challenging to complete any of the required coursework without it.
Expectations:
- Be present. Exercise mindfulness.
- Come prepared, ready to learn.
- Put forth your best effort, doing more than what is required.
- Demonstrate respect for yourself, fellow students, and me.
Grading Policies:
Semester grades will be determined based on the following weights:
| Question Sets | 16% |
| Projects | 32% |
| Tests | 32% |
| Final Exam | 20% |
The grading scale is as follows:
- A = 90 – 100%
- B = 80 – 89%
- C = 70 – 79%
- D = 60 – 69%
- F = 59% and below
Question Sets: You can expect almost daily reading assignments from the textbook (available both as a digital download, and a physical book in the classroom), which are followed by a series of online questions to assess your level of understanding. It is important that you actually read and understand the section before proceed to take the quiz. Your answers are automatically scored so that you will know immediately how well you have done. You may retake any question set anytime to improve your score, but the questions are randomized so you will not be asked the same questions in the same order as before.
Projects: You will have a multitude of projects to complete that are listed in the online assignment guide. Projects are generally due the following day, but can be turned in any time during the semester, including in advance of the due date. Most projects contain a tester that will provide you with immediate feedback as to whether you have completed the assignment or not. In this case, just let me know when you have completed the assignment, and I will mark it as so. Other projects are submitted to me online and graded according to a specific rubric, as indicated in the assignment. The key to doing well in this class is to complete all of the assignments on time!
Tests: You can expect to have a unit test as we complete each unit (generally a chapter) in the textbook. Test dates are scheduled in advance as listed in the assignment guide. Tests usually are composed of multiple-choice questions.
Final Exam: There will be a final exam at the end of each semester, each consisting of 40 multiple choice questions. Each final exam is comprehensive, covering appropriate material over the entire course (the first semester exam only covers the topics discussed in the first semester). In preparation for each final exam, you will have the opportunity to take a practice exam, that will be then reviewed in class.
Extra Help: If you do not understand a particular topic, come in for help immediately! Don’t wait until it is too late! I am available both before and after school (it is ok to drop in without an appointment). I consider my most important teaching opportunity is to spend time directly with students as a resource for their learning.
Thanks! I’m looking forward to a fabulous year together with you!
Course Summary:
| Date | Details | Due |
|---|---|---|