Instructor:
Name: | Tessema Mengistu (Ph.D.) |
Email: | tmengis-at-gmu-dot-edu |
Webpage: |
https://cs.gmu.edu/~tmengis/courses/FA20/CS310Fall2020.html
|
Hours: | MWF 10:00 - 11:00 AM or by appointment |
Office: | Online |
Name: | TBA |
Email: | |
Webpage: | |
Hours: | TBA |
Office: |
TBA |
Section | Days | Times | Location |
---|---|---|---|
Sec 003 | MW | 3:00 - 4:15 PM | Online |
Sec 006 | TR | 3:00 - 4:15 PM | Online |
Required | Data Structures & Problem Solving Using Java, Mark Allen Weiss, 4th edition, Addison Wesley. | ||
References | Data Structures and Abstractions with Java, Frank M. Carrano and Timothy M. Henery, 5 |
Course Description:
Focuses on object-oriented programming with an emphasis on tools and techniques for developing moderate to large programs. Topics include use and implementation of linear and nonlinear data structures and the design and analysis of elementary algorithms. Course OutcomesBy the end of the semester, students will:
Programming assignments
Students will receive a number of programming projects during the semester. These programming projects will be a primary focus of your grade - each one should take multiple sessions of coding, with questions asked in between. Don't be surprised if you're spending 20+ hours on each one. All project grades will be averaged together evenly. Programming projects are INDIVIDUAL work.
Grade Distribution
Material | Weight | Note |
---|---|---|
Class Participation | 5% | |
Programming Projects(5) | 45% | 4 highest score 10% each, lowest 1 scores 5% |
Tests (5) | 25% | |
Final exam | 25% |
Grading Scale
Grade | A+ | A | A- | B+ | B | B- | C+ | C | C- | D | F |
---|---|---|---|---|---|---|---|---|---|---|---|
max | ↑ | 97 | 91 | 89 | 87 | 81 | 79 | 77 | 71 | 69 | 59 |
min | 98 | 92 | 90 | 88 | 82 | 80 | 78 | 72 | 70 | 60 | ↓ |
Unless specific instructions are given to the contrary, programming assignments are an individual effort, no group work is allowed. In addition to code, this includes the sharing of test cases, pseudocode, or approaches, receiving assistance in debugging code, as well as the use of external Internet sites.
Both the GMU Honor Code and the CS Department Honor Code apply in this class. Any use of a direct contribution on any program, homework, quiz, or exam will be reported as a violation of the honor code.
We take the honor code quite seriously. Any attempts at copying or sharing code, algorithms, or other violations of the honor code simply will not be tolerated. We use automated software to flag suspicious cases, and then review them to find the cases that must be submitted to the Office of Academic Integrity. The penalty for cheating will always be far worse than a zero grade, to ensure it's not worth taking the chance. Confirmed cases of cheating almost always translate into course failure.
Some kinds of participation in online study sites violate the Mason Honor code: these include accessing exam or quiz questions for this class; accessing exam, quiz, or assignment answers for this class; uploading of any of the instructor’s materials or exams; and uploading any of your own answers or finished work. Always consult your syllabus and your professor before using these sites.
Students who have a right to accommodations due to disabilities or other conditions should discuss this with the instructor as soon as possible. Accommodations will follow the recommendations of the University's Office of Disability Services.
Week | Date | Topic(s) | Text Book Reading Chapters | Assignments | Notes | |
---|---|---|---|---|---|---|
week 1 | 08/24-08/28 | Review: Basics of OOP using Java | 1-4 | |||
Algorithm Analysis | 5 | Project-0 (Prerequsite Skills) | ||||
Sun, Aug 30 | Project -0 due | |||||
week 2 | 08/31-09/04 | Linked Lists | 17 | Project-1 | ||
week 3 | 09/07 | NO class - Labor Day | Test 1 (Week 1 & 2) | |||
09/09 | Stacks and Queues | 11, 16 | ||||
Sun, Sep 13 | Project -1 due | |||||
week 4 | 09/14-09/18 | Stacks and Queues | 16 | Project 2 | ||
week 5 | 09/21-09/25 | Review: Recursion ; Trees | 7 18 | |||
Sun, Sep 27 | Project-2 due | |||||
week 6 | 09/28-10/02 | Trees (contd) | 18 | Test 2 (Week 3 - 6);Project - 3 | ||
Sun, Oct 04 | final resubmission Project 0 | |||||
week 7 | 10/05-10/09 | Binary Search Trees | 19 | |||
week 8 | Mon, Oct 12 | Fall Break, no class | Sec 003 meets on Tue and no class for Sec 006 on Tue | |||
Hashing | 20 | Test 3 (Week 7 & 8) | ||||
Sun, Oct 18 | Project - 3 due | |||||
week 9 | 10/19-10/23 | Introduction to Graphs | 14 | Project-4 | ||
week 10 | 10/26-10/30 | Graphs (contd) | 14 | |||
week 11 | 11/02-11/06 | Priority Queues & Heaps | 21 | Test 4 (Week 9 - 11) | ||
Sun, Nov 08 | Project - 4 due | |||||
week 12 | 11/09-11/13 | AVL Trees | 19 | Project -5 | ||
week 13 | 11/16-11/20 | Red Black Trees | 19 | |||
Sun, Nov 22 | Project - 5 due | |||||
week 14 | 11/23-11/25 | Special Topics; | 24 | Test 5 (Week 12 & 13) | ||
Nov 26 - NOv 29 | Thanksgiving Break, no class | |||||
week 15 | 11/30-12/05 | Special Topics; | ||||
Final Exam Review | ||||||
Exam week | Thur, Dec 10 | Final Exam 1:30 - 4:15PM | Sec 006 | |||
Mon, Dec 14 | Final Exam 1:30 - 4:15PM | Sec 003 |