CS331 - Datastructures and Algorithms

Version 1

Course webpage for CS331

Syllabus

CS331 - Data Structures and Algorithms

The class takes place: Monday + Wednesday, 9:40 am - 10:55 am, online

Instructor

Boris Glavic

Course Objectives

  • Explain, implement, and apply the following data-structures:

    • lists (unordered and ordered)

    • stacks

    • queues

    • expression trees

    • binary search trees

    • heaps

    • hash tables

  • Analyze the time and space complexity of algorithms using asymptotic upper bounds (big-O notation).

  • Explain and use references and linked structures.

  • Outline basic object-oriented design concepts: composition, inheritance, polymorphism.

  • Outline basic concepts of immutable data structures and explain the trade-offs compared to mutable data.

  • Write and test recursive procedures, and explain the run-time stack concept.

  • Analyze searching and sorting algorithms, and explain their relationship to data-structures.

  • Choose and implement appropriate data-structures to solve an application problem.

  • Understand techniques of software development, such as unit testing and version control.

Grading

Your final score is based on the following weighted components:

Programming Assignments

There will be approximately 12 programming assignments over the course of the semester. They will be accessed, completed, and submitted via git. Programming assignments are not equally weighted.

Each student starts the semester with a "late pool" of 7 days. Late days are automatically applied when machine problems are submitted late. After the late day pool is exhausted, late assignments will not be accepted for credit.

Quizzes

Quizzes will be periodically released on Mimir to help students prepare for upcoming exams. Students may retake quizzes as often as they wish before the deadline, though scores will not be released until after the final submission date. Quizzes are equally weighted.

Exams

All exams are nominally cumulative, though will generally focus on material not covered by preceding exam(s). The three exams are equally weighted.

Academic Integrity

You are welcome to discuss assignments with classmates, but all final work must be your own. For details on what constitutes academic dishonesty, consult the university's Code of Academic Honesty at https://web.iit.edu/student-affairs/handbook/fine-print/code-academic-honesty. Any confirmed cases of academic dishonesty will be reported to academichonesty@iit.edu, and any work involved will, at the very least, will receive a reduction in grade deemed appropriate by the instructor.

Disability Resources

Reasonable accommodations will be made for students with documented disabilities. In order to receive accommodations, students must obtain a letter of accommodation from the Center for Disability Resources and make an appointment to speak with the instructor as soon as possible. The Center for Disability Resources is located in the Life Sciences Building, room 218, tel:312-567-5744 or disabilities@iit.edu.

IllinoisTech's Sexual Harassment and Discrimination Information

  • Sexual harassment, sexual misconduct, and gender discrimination by any member of the Illinois Tech community is prohibited. This includes harassment among students, staff, or faculty. Sexual harassment by a faculty member or teaching assistant of a student over whom they have authority or by a supervisor of a member of the faculty or staff is particularly serious. Such conduct may easily create an intimidating, hostile, or offensive environment.

  • Illinois Tech encourages anyone experiencing sexual harassment or sexual misconduct to speak with the Title IX Office for information on the resolution process and support options.

  • You can file a complaint electronically at http://iit.edu/incidentreport, which may be completed anonymously. You may also file a complaint in-person by contacting the Title IX Coordinator, Virginia Foster at tel:312-567-5725 / mailto:foster@iit.edu or the Deputy Title IX Coordinator tel:312-567-5726 / mailto:eespeland@iit.edu.

  • If you are not ready to file a formal complaint but wish to learn about your rights and options, you may contact Illinois Tech's Confidential Advisor service at tel:773-907-1062. You can also contact a licensed practitioner in Illinois Tech's Student Health and Wellness Center at tel:312-567-7550

  • For a comprehensive list of resources regarding counseling services, medical assistance, legal assistance and visa and immigration services, you can visit the Title IX Office's website at https://web.iit.edu/hea/resources