CSCI 3400
December 10, 2025
Course: CSCI 3400 - Sections B (24470), Fall 2025.
Instructor: Dr. Clément Aubert, https://spots.augusta.edu/caubert/#contact
Meeting Time: Tues./Thurs., 5:30–6:45pm in Hull McKnight GA Cyber Center, Room 2301
A study of the techniques for representation and manipulation of structured data within a digital computer. Programming assignments illustrating a variety of data structures.
To enroll in this course, you must have a minimum grade of C in CSCI 1302.
Students who successfully complete this course should be able to:
This course does not use a traditional textbook; instead, it uses a collection of open-source learning resources available at https://princomp.github.io/, where content will be added through the semester.
An excellent C# reference is C# 12 in a Nutshell: The Definitive Reference by Joseph Albahari (978-1098147440). AU students can access this resource using Safari Books Online.
Resources for algorithm analysis and data structures include:
Solutions can usually be found at princomp.github.io/solutions/ by looking for relevant keywords or browsing by theme.
Tutoring is offered on the Summerville Campus, in University Hall, room 129, on
You can inquire on discord about extended office hours or tutor availability. The tentative planning for CSCI 3400 is the following:
| Name | Mon | Tue | Wed | Thu | Fri |
|---|---|---|---|---|---|
| Benjamin Diaz Posada | 2:30pm - 5:00pm | 9:00am - 12:30pm | 2:30pm - 5:00pm | 9:00am - 12:30pm | 10:30am - 2:00pm |
| Haydn Karamath | 9:00am - 10:00am | 9:00am - 10:00am | |||
| –“– | 11:15am - 12:00pm | 11:15am - 12:00pm | |||
| Francis Tropea | 4:00pm - 6:00pm |
Since this is a computer programming class with online resources, you will need to have access to a reliable Internet connection and a computer on which you can install software. It can be either a PC running Windows, a Mac running MacOS, or a PC running Linux (most major distributions); notably, however, Chromebooks are not supported. Please, find more details (e.g., on the hardware requirements) at https://princomp.github.io/docs/programming_and_computer_usage/computer_requirements if needed.
This class will be conducted face-to-face, unless there are unforeseen changes during the semester. You are expected to attend all classes and complete all assignments. We recognize that sometimes you will need to miss class due to unexpected circumstances (illness, injury, etc.). Understand, however, that you are still responsible for all course material, whether or not you attend class, and missing class may make it easy to fall behind. Note that students that stop attending may be withdrawn by the instructor.
Important class information will be shared in class and over email. Note that Brightspace/D2L/LMS will primarily serve as a platform to share your project and access your grade, but that no major announcements will be made exclusively on Brightspace/D2L/LMS.
Students will be evaluated by the following measures:
Projects and quizzes: Throughout the semester, students will have to return C# projects following precise prompts and instructions shared at https://princomp.github.io/projects/submission, and to take short (5–10 min.), in-class quizzes.
Exams: There will be two in-class exams, held during the regular class periods. They will require you to write programs on paper, without the help of any reference material, as well as answer questions about programming concepts.
Final: The final exam will be similar in content to the midterm exams, except that it will be 2 hours long.
Refer to the planned schedule for estimated dates, and to Brightspace/D2L/LMS to get your current grades.
Your grade will be computed as follows:
| Projects & Quizzes | 10% |
| In-class Exams (×2) | 50% |
| Final Exam | 40% |
using the following course grade scale:
| Below 65 | 65–70 | 70–79 | 80–89 | 90–100 |
| F | D | C | B | A |
Refer to the Course Policies for information about late or missed evaluations.
| Date | Topic | Assignments (project & quiz timeline tentative) |
|---|---|---|
| Tue, Aug 12 | Syllabus & Introduction – Abstract Data Types | |
| Thu, Aug 14 | Complexity | |
| Tue, Aug 19 | Complexity (contd) | |
| Thu, Aug 21 | Linked List | Quiz #1 |
| Tue, Aug 26 | Refresher on interfaces and Linked Lists as ICollection | |
| Thu, Aug 28 | Doubly Linked List | |
| Tue, Sep 2 | Doubly Linked List (contd) and Stacks | |
| Thu, Sep 4 | Stacks (contd) | |
| Tue, Sep 9 | Queues | Quiz #2 |
| Thu, Sep 11 | Binary (Search) Tree | |
| Tue, Sep 16 | Binary (Search) Tree (contd) | “AList” Project |
| Thu, Sep 18 | Binary (Search) Tree (contd) | |
| Tue, Sep 23 | Exam # 1 review | |
| Thu, Sep 25 | Exam #1 | |
| Tue, Sep 30 | Exam #1 return | |
| Thu, Oct 2 | AVL Tree | |
| Tue, Oct 7 | AVL Tree (contd) | |
| Thu, Oct 9 | Fall pause - no class | |
| Tue, Oct 14 | Dictionaries | |
| Thu, Oct 16 | Dictionaries (contd) | Quiz #3 |
| Tue, Oct 21 | Dictionaries (contd) | |
| Thu, Oct 23 | Priority Queue | |
| Tue, Oct 28 | Priority Queue | “AVLtree” Project |
| Thu, Oct 30 | Priority Queue | |
| Tue, Nov 4 | Dictionaries (chaining) | Quiz #4 |
| Thu, Nov 6 | Insertion sortign & Heap Sorting | |
| Tue, Nov 11 | Bubble Sorting, Shell Sorting & Actions | |
| Thu, Nov 13 | Course Review | |
| Tue, Nov 18 | Exam #2 | |
| Thu, Nov 20 | Course Review | |
| Tue, Nov 25 | Quick Sorting | |
| Thu, Nov 27 | Thanksgiving Holiday – no class | |
| Fri, Dec 05 | Final Exam (08–10pm) | “Sorting” Project due |
Time allows, we will also discuss graphs and their representations (adjacency list), topological sort, shortest-path problem and Dijkstra’s algorithm.
If there are any major changes, an announcement will be made in class and via email.
Dates are just estimates (the pace will be adjusted to the class as necessary), but exam dates will not change.
Projects are (generally) due at 11:59pm on the assigned due date, and no late assignments will be accepted. There will be plenty of time to complete the projects, so plan ahead for the possibility of illness, car malfunctions, power outages, or other setbacks.
Exams must be taken in person on the date of the exam. In extenuating circumstances, such as unavoidable work commitments or the need to quarantine due to COVID-19 exposure, the instructor may give permission to make up the exam on an alternate date or to place the weight of the missed exam onto the weight of another exam.
Any request to miss a scheduled exam must be made prior to the exam and accompanied by documentation of the extenuating circumstances, unless of course it is an emergency, in which case the student is asked to inform the instructor as soon as they can, preferably over email. Missing an exam without making prior arrangements nor submitting documentation proving the nature of the emergency will result in a grade of zero.
It is the student’s responsibility to initiate a withdrawal before midterm in order to receive a grade of W rather than WF. Although instructors have the right to withdraw a student who has stopped attending class or submitting assignments, you should not assume that you will automatically be withdrawn if you stop attending.
Any student not withdrawn from the course who misses the final exam without a documented excuse (as described in the Late Policy section) will receive an F. In case of an documented emergency at the time of the final, the student may be allowed to receive a grade of I.
You are expected to come to class on time and stay until the end of the lecture: late arrivals and early departures disturb the learning experience for everyone. No cell phones or other visible distractions are allowed during lectures. Paying attention to the lecture, taking notes, and participating in in-class activities will help increase your retention of the material and improve your confidence on the exams. Asking questions in class is encouraged; your instructor would much rather stop the lecture to answer a question than continue on while the class is still confused.
Augusta University believes academically qualified individuals with disabilities should have equal opportunity and access to a quality education. We have been actively involved in fostering an environment that encourages full participation by students with disabilities in every segment of the University. https://www.augusta.edu/tds/disabilityservices.php
Accommodations for students with disabilities are made on an Individual basis. Students must register and request services from the Director of Testing and Disability Services. In order to receive services, students must provide current documentation of their disability from a qualified health professional. (visit https://www.augusta.edu/tds/criteria.php for documentation criteria)
Appointments can be made by calling The Office of Testing and Disability Services at (706) 737-1469 or by emailing tds@augusta.edu. It is the student’s responsibility for initiating an appointment and following “How to Receive Service” instructions found at: https://www.augusta.edu/tds/accommodation.php
The Office of Testing and Disability Services is located at 2500 Walton Way Galloway Hall Room 101 Augusta, GA 30904.
If the student does not obtain academic accommodations through The Office of Testing and Disability Services, it is assumed no special accommodations or modifications will be necessary to meet the requirements of this course.
Honesty and integrity are essential to an academic community if the honors and credentials it awards are to receive respect. The responsibility for the practice and preservation of honesty must be equally assumed by all of its members. Any type of dishonesty in securing those credentials therefore invites serious sanctions, up to and including a WF or F in the course, and expulsion from the institution. Augusta University’s academic regulations, as well as the student’s manual, provide specific definitions of cheating and plagiarism and describe the consequences for engaging in this kind of misconduct.
Unethical behavior of students in any form is not acceptable and will not be tolerated in the School of Computer and Cyber Sciences. Academic dishonesty – cheating on exams, plagiarism of the work of others, unapproved collaboration on graded work, and the like – will be dealt with immediately and with clear consequences. Depending on the nature and severity of the problem, a student who is guilty of any such violation may be: 1) withdrawn from the course with a grade of WF (counted as an F in the GPA); 2) given a grade of zero on the assignment; 3) given a grade of F in the course; or 4) otherwise penalized, at the discretion of the faculty member. Two occurrences of a WF grade for academic dishonesty will result in a student being expelled from the University, per current University policy as described in the University Catalog.
In general, all work you submit for this class must be entirely your own and must not be shared with anyone else. If you are unsure about whether or not certain kinds of collaboration are permissible, please ask your instructor.
Any text-generating software (such as ChatGPT, Claude, Microsoft Copilot) cannot be used for graded material, and their use will be treated as plagiarism. Any use of these or other text-generating software constitutes a violation of Augusta University’s Academic Honesty Policy, and the institution’s policy will be followed to the letter in those instances.
However, students are allowed to use those tools to test their programs, i.e., to generate test cases, but not to generate their answers or to review their answers before submitting them. Students are also allowed to use those tools to look for guidance or additional resources, or to generate multiple-choice questions, or study guides.
Please be aware of the USG guidance on House Bill 280. Note that you may not carry a handgun if high school students are enrolled in the class, and that it is your responsibility to visit the registrar to determine whenever this is the case or not.