User Tools

Site Tools


CSE 2383: Data Structures and Algorithm Analysis

General Information

This is an evolving document and will almost certainly be updated as the semester progresses. Please keep an updated view of the online version of this document.


When: Monday, Wednesday, Friday - 11:30AM to 12:20PM
Where: McCain Hall, Room 190


Three hours lecture. Non-linear data structures and their associated algorithms. Trees, graphs, hash tables, relational data model, file organization. Advanced software design and development.
*Significant programming is required*


A grade of C or higher is required in the following classes:

  • CSE 1384 - Introduction to Computer Programming
  • MA 1713 - Calculus I


No text is required for this course.

Instructional Staff


J. Adam Jones, PhD
Office: Rice Hall, Room 143
Office Hours:
Monday, Wednesday, Friday - 1:15PM to 3:45PM
(If you can't make it to my regular office hours, don't hesitate to ask for an appointment at a convenient time!)

Office Hours are first-come-first-serve and visits are limited to 15 minutes. Please keep in mind that office hours are for all my students. This includes students from classes, research projects, honors projects, teaching/research assistants, and laboratories.

Class Helpers

Mohammad Nagahisarchoghaei
Office: Rice Hall 231, 233, 235, or 236
Office Hours:
Tuesday - 9:00AM to 12:00PM
(Others by appointment)

Tommy Pope
Office: Rice Hall 231, 233, 235, or 236
Office Hours:
Wednesday - 11:30AM to 1:30PM
Friday - 12:30PM to 2:30PM
(Others by appointment)


  • Introduction to the course (1 hr)
  • Smart Pointers (1 hr)
  • Operator Overloads (1 hr)
  • Algorithm Analysis Lists (2 hr)
  • Stacks (2 hr)
  • Queues (2 hr)
  • Generic Container Classes Templates (3 hr)
  • Iterators (2 hr)
  • Tree Structures Binary Trees (1 hr)
  • Tree Traversal Algorithms (2 hr)
  • Search Trees (3 hr)
  • Balanced Trees (3 hr)
  • Heaps (3 hr)
  • Graphs Definitions (1 hr)
  • Representations (2 hr)
  • Minimum Spanning Tree Algorithms (3 hr)
  • Shortest Path Algorithms (3 hr)
  • Hash Tables (3 hr)
  • Tests (3 hr) - is this really a topic though? You decide.

Information for Students

  • You are required to have access to a computer that connects to the internet.
  • The course materials will be accessed through Canvas.
  • You are required to check your MSU email account regularly. This is considered an official means of communication by MSU for distance education students.
  • Assignment submissions will utilize Canvas unless otherwise specified by the instructor.
  • If C++ code needs to be viewed by the Instructor, send a copy of the .cpp file via Canvas Messaging (do NOT send a screenshot or copy/paste the code text!).
  • Students should direct correspondence to the instructor directly related to the class via the mail feature in Canvas.
  • Students can correspond with each other via the general course discussion board. Please note that collaboration on individual projects is not acceptable unless otherwise indicated by the instructor.
  • Students should expect to log in to Canvas no less than 3 times per week to access course information, lectures, and updates.



Assessments (percentage of final grade):

Exams (60%)
Quizzes (10%)
Programming Assignments (25%)
Prerequisite Test (5%)

Grading Scale:

(FG = final grade)
A - FG >=90%
B - 80% <= FG < 90%
C - 70% <= FG < 80%
D - 60% <= FG < 70%
F - FG < 60%


Various assessments will be given throughout this course to measure each student’s progress on learning course material. The type of assessments given in this course will include the following:

  • Exams
  • Quizzes
  • Programming Assignments
  • In-Class/Online Activities

All assessments in this course (including exams, quizzes, programming assignments, etc.) must be completed individually unless otherwise stated by the instructor. The use of notes, lecture slides, textbooks, and online materials on quizzes and exams is prohibited unless given permission by the instructor. If the Instructor or Teaching Assistant suspects any form of academic misconduct on any assessment given in this course, the student will be referred to the Honor Code Office.


3 tests will be given in this course. A comprehensive final exam will also be offered. If you choose to take the final exam, your final exam score will replace your lowest test grade, provided that any one of your test scores is lower than your final. No student is required to take the final exam. Henceforth, the final exam is optional.

Students will have a set duration of time to take the exam. No makeup exams will be offered after the exam has been given UNLESS the absence is excused. Any students that need an extension must provide documentation of the absence, which must meet University Guidelines to be accepted. Students must contact the instructor before the due date of the exam to schedule a makeup.


Quizzes will be given throughout the semester. Quizzes can cover material from any previous lecture. Quizzes will typically cover material from the most recent lecture but may have questions from earlier lectures. Quizzes will be proctored like exams but will be given a shorter time limit. No make-up quizzes will be given, but if you miss 3 days or less of class, you will be given a replacement quiz grade. The replacement grade will be the average of all quiz grades inclusive of your lowest grade.

If you have disability accommodations for quizzes you would like to use, contact the instructor either at the beginning of the semester or as soon as you are given accommodations to discuss arrangements.

Weekly Activities

Weekly activities will be given throughout the semester to support your learning and understanding of the material. These could include discussion on the current course topic, code analysis exercises, code readability improvement, and more. These will be graded at the instructor’s discretion.

Programming Assignments

Programming assignments will be given as part of this course. In Programming assignments, students will be given a problem and produce a program solution that applies techniques learned in this course to solve the problem. The purpose of these assignments is to engage and develop the student’s critical thinking and analyzing skills, which is important for success in an Engineering career. Students will use the C++ programming language to complete each assignment.

Course Policies


This section is a face-to-face instructional class. Per Academic Operating Policy 12.09, students are expected to attend all class meetings in person. Should a student expect a university-excused absence from a class, the student should contact the course instructor of record to inform them of the absence and the reason for it. Attendance is required, but you are allowed to miss up to three days without penalty. If you miss three or less days, you will be allowed a replacement quiz grade. See the Quizzes section for more details.

Computer & Software

All students in the Bagley College of Engineering are expected to have a laptop that meets the requirements described at the following link: NOTE: Students that use a Mac book should NOT expect support/troubleshooting from any instructor/TA and Bagley IT. Most software used in the Computer Science/Software Engineering curriculum is only compatible with Windows. If students choose to use a Mac, there is Virtual Machine software available online such as Oracle Virtual Box (free, but buggy) and Parallels(recommended). Students are expected to write programs using the C++ language. The recommended compiler/environment for C++ is Microsoft Visual Studio. The link for Visual Studio can be found at The Community edition is free for students. If you do not have access to a Windows machine or your system does not support Visual studio, you can use alternative compilers, but all code will be graded in Visual studio. Code that does not compile with the C++ standard will NOT be acceptable.

Alternatives to Visual Studio:

Note: The alternative compilers above have native support for code accepted by the C language. Using these compilers will compile valid C code that is not acceptable by C++ standard. Be cautious of using these alternatives and ensure that your code is fully accepted by C++ standards.

Program Grading

Unless otherwise specified by the instructor, any assignments that require you to write code MUST be completed in the C++ language. Any assignments requiring written code not completed in C++ will automatically be given a grade of zero. Also, it is expected that students submit code that is syntactically correct. Code that contains syntactical issues will be penalized at the instructor's/Teaching Assistant's discretion, up to a grade of 0 for any points associated with completing code. It is your responsibility to test/run your code BEFORE submitting!


All Submissions must be composed of the correct file formats. These formats are listed as followed:

  • Code: .cpp, .h, .hpp
  • Everything else: .pdf

Any different file formats will generally NOT be accepted.

Late Policy

Every programming assignment and activity MUST be turned in by the due date specified to receive full credit. The following penalties will be applied to any assignments submitted late:

  • If the assignment is less 24 hours late: 10 Percent
  • If the assignment is between 24 and 47 hours late: 20 percent
  • If the assignment is between 48 and 71 hours late: 30 percent
  • If the assignment is more than 72 hours late: 100 percent

Any extensions on assignments due to illness or planned travel/events MUST be discussed with the instructor in a reasonable time frame, and any such extension will be granted at the discretion of the instructor.

Homeworks, Quizzes, and Tests are strictly due on the day they are due. There are no late opportunities for submissions after the due date of these items.

Instructional Staff Availability

Throughout the semester, the instructor and teaching assistants for this course will be available by appointment. Students are expected to schedule an appointment using the Instructors/TAs Calendly page. Online appointments will be handled using WebEx software, where access is provided free of charge to Faculty/Staff and students. Students are expected to have this software set up and ready by the 3rd day of class. Teach Assistant Contact Information (if this course has a TA) will be provided within 3 days of class starting.

University Policies

Continuity of Instruction

In the event that face-to-face classes are suspended due to extenuating circumstances, such as weather, the instructor will continue instruction in a manner that best supports the course content and student engagement. In this event, all instructors will notify students of the change via their university email address (the official vehicle for communication with students). At that time, they will provide details about how instruction and communication will continue, how academic integrity will be ensured, and what students may expect during the time that face-to-face classes are suspended. If a student becomes unable to continue class participation due to extenuating circumstances, (e.g., health and safety, loss of power, etc.) the student should contact their instructor and advisor for guidance. For additional guidance, please refer to Academic Operating Policy 12.09.

Attendance policy for face-to-face instruction

This section is a face-to-face instructional class. Please refer to Academic Operating Policy 12.09, regarding attendance expectations and accommodations.

Disability Resource Center

Mississippi State University is committed to providing equitable access to learning opportunities for all students. The Disability Resource Center (01 Montgomery Hall) collaborates with students who have disabilities to arrange reasonable accommodations. If you have, or think you may have, a disability, please contact or 662-325-3335 to arrange a confidential discussion regarding equitable access and reasonable accommodations. Disabilities may include, but are not limited to, conditions related to mental health, chronic health, attention, learning, autism, brain injury, vision, hearing, mobility, speech, or intellectual disabilities. In the case of short-term disabilities (e.g., broken arm), students and instructors can often work to minimize barriers. If additional assistance is needed, please contact the Disability Resource Center.

Auditing the Course

Students auditing the course are required to attend EVERY lecture. The only exceptions to this rule are if the absences are excused, as described in the Attendance section.

Student Honor Code

Mississippi State has an approved Honor Code that applies to all students. The code is as follows: “As a Mississippi State University student, I will conduct myself with honor and integrity at all times. I will not lie, cheat, or steal, nor will I accept the actions of those who do.” Upon accepting admission to Mississippi State University, a student immediately assumes a commitment to uphold the Honor Code, to accept responsibility for learning, and to follow the philosophy and rules of the Honor Code. Students will be required to state their commitment on examinations, research papers, and other academic work. Ignorance of the rules does not exclude any member of the MSU community from the requirements or the processes of the Honor Code. For additional information, please visit the Honor Code Policy.

Title IX

MSU is committed to complying with Title IX, a federal law that prohibits discrimination, including violence and harassment, based on sex. This means that MSU’s educational programs and activities must be free from sex discrimination, sexual harassment, and other forms of sexual misconduct. If you or someone you know has experienced sex discrimination, sexual violence and/or harassment by any member of the University community, you are encouraged to report the conduct to MSU’s Director of Title IX/EEO Programs at 325-8124 or by e-mail to Additional resources are available at Dean of Students Sexual Misconduct and Sexual Assault.

University Safety Statement

Mississippi State University values the safety of all campus community members. Students are encouraged to register for Maroon Alert texts and to download the Everbridge App. Visit the Personal Information section in Banner on your MyState portal to register. To report suspicious activity or to request a courtesy escort via Safe Walk, call University Police at 662-325-2121, or in case of emergency, call 911. For more information regarding safety and to view available training including helpful videos, visit

adam_jones/courses/cse2383.txt · Last modified: 2021/09/08 18:56 by jones