| Instructor: | Dr. Paul Regier | Time: | Tues/Thurs 8:00 am - 9:25 pm |
| Email: | pregier@usao.edu | Place: | Austin Hall 213 |
| Office hours: | paulregier.com/office-hours/ |
Study of fundamental data structures—including arrays, stacks, queues, linked lists, hash tables, trees, heaps, and graphs—and their applications. Emphasis is placed on algorithm design and analysis, including Big-O notation, time and space complexity, recursion, and trade-offs in performance and memory usage. Students will implement and evaluate algorithms for searching, sorting, and manipulating data structures on existing systems. (3 hours)
Prerequisite: CSCI 3253 - Programming in Python II
By the end of this course, you will be able to:
This course will meet IN-PERSON, with the exception of Week 9 (10/21, 10/23) and Week 11 (11/4, 11/6), in which online assignments will be given. Your active engagement in class will be crucial for your success in this course.
Course grades are made up of the following components:
| Component | Weight |
|---|---|
| Attendance | 5% |
| Coursera Assignments | 20% |
| Lab Projects | 30% |
| Midterm Exams | 30% (15% each) |
| Final Project | 15% |
| Total | 100% |
After rounding final grade to the nearest percent:
\(A = 90-100\%, B = 80-89\%, C = 70-79\%, D =
60-69\%, F = \text{below } 60\%\)
Your active engagement in class is crucial for your success in this course. Thus, attendance will be recorded.
Weekly Coursera assignments are posted on Canvas and are due before the class period in which we begin that topic.
Lab projects are a major part of your grade and will be assigned about once per week. Labs begin in class, and remaining work is completed outside of class.
Policies:
Feedback:
Technical note:
Procedures for completing labs in VS Code will be covered during the first week of class. If you miss these classes, it is your responsibility to meet with a peer or attend office hours to learn the process.
Exams will focus on real-world problems that require you to:
Exams will be completed in class and submitted through Canvas. Late or emailed exams will not be accepted.
Exams will be graded according to rubrics posted on Canvas. Partial credit may be awarded for clear reasoning, even if the final answer is incomplete.
The Final Project will require you to apply multiple data structures and algorithms to solve a real-world problem. Details will be provided later on in the semester.
Be aware and anticipate the following response times for the following types of correspondence:
In all course communication with your instructor and classmates, please follow these net etiquette (netiquette) guidelines: 1
If you are struggling falling behind in this course, it is your responsibility to come to offices as soon as you realize this!
Regular class attendance is necessary in achieving the course objectives. Thus, taking care of your health and avoiding unnecessary exposure to illness is an important part of your success.
However, if you do fall ill for any reason, I want you to be able to rest. Please do not come to class if you are sick. If you are ill, please email me to let me know. Then, when you are well, contact me ASAP to make plans for making up missed work.
If you are absent, you are still responsible for all course requirements. I will work with you to make up work, but it is your responsibility to contact me as soon as you are well. Do not wait until the end of the semester to make up missed work.
The University has a continuing commitment to providing accommodations for students with documented disabilities. Like so many things this Fall, the need for accommodations and the process for arranging them may be altered by safety protocols related to COVID-19. To fully participate in this class, those with disabilities who may need accommodation should contact the Disability Services, as soon as possible. For this semester, please do this by emailing the Disability Services Office at disabilityservices@usao.edu.
Academic dishonesty of any kind will not be tolerated. This includes plagiarism, fabrication, cheating, unauthorized collaboration, copying code, or submitting work generated by AI tools as your own. All work must represent your own effort unless collaboration is explicitly allowed.
Violations of this policy will result in a grade of zero on the assignment and may be reported under the University’s Academic Code of Conduct. For more details, see the USAO student handbook.
Please also mark your calendar with all exam dates, as posted in the course schedule (see home Canvas page).
It is your responsibility to be aware of all dates listed in the USAO academic calendar.
The instructor reserves the right to make changes to this course as deemed mutually beneficial or necessary to all involved, with appropriate notification.
I encourage any feedback you have at any point during the semester. If you find any structural or content errors in any current course materials, let me know respectfully via the syllabus discussion in Canvas, via email, or in person. If you do so, I will give two points extra credit (per correction) toward Lab Assignments.
Partially adapted from The Core Rules of Netiquette. Shea, V. (1994). Netiquette (Online ed., pp. 32-45). San Francisco: Albion Books.↩︎