Syllabus

Course Information

Instructor Information

Section TA Information

  • TA: Mounika Guttula
  • Office: PM 256
  • Office Hours: Tu 11am-12:30pm, W 2:00-4:00pm
  • Recitations: L1 (Th 9:30-10:45am), L3 (Th 11am-12:15pm)
  • Email: z1944798@students.niu.edu

Course TA Office Hours

  • Office: PM 256
  • Section 1: Amanda Zedwick, Tu 12:30-1:45pm, W 11:45am-1:45pm
  • Section 2: Mounika Guttula, Tu 11am-12:30pm, W 2:00-4:00pm
  • Section 3: Asha Latha Nama, M 2:00-3:30pm, Th 2:00-4:00pm

Course Description

This course covers the application of analysis and design techniques to nonnumeric algorithms acting on data structures, and the utilization of algorithmic analysis and design criteria in the selection of methods for data manipulation. This course will have computing projects and extensive laboratory work using C++.

Course Objectives

By the end of the course, students will be able to understand, implement, and use:

  • Sequential and associative containers
  • Algorithms, including sorting and algorithm analysis
  • Binary trees, including tree balancing
  • Heaps, B-Trees, and hashes
  • Graphs, including representation, traversals, and algorithms

Course Prerequisites

CSCI 241 (Intermediate Programming in C++).

Course Structure

The course will focus on the principles of data structures and algorithm analysis coupled with extensive programming experience in the form of programming assignments, daily programming exercises, and recitation problems. The course will have three exams, including the final.

Schedule

Please note that the schedule is subject to change, although exam dates are not expected to change. Please check the web site for the latest assignments and readings. The schedule adheres to the university’s academic calendar and final exam schedule.

Exams

Three exams will be given, two during class and the other at the assigned final exam time. Exams will be given in person at the scheduled class/exam time. Exams can only be made up in case of a documented emergency. Valid documentation includes notes from a doctor or a nurse, though not for a scheduled appointment; evidence of jury duty or of court appearance; evidence of military obligations. Notes from relatives do not constitute valid documentation, nor does proof of travel arrangements. Other kinds of documentation may be considered valid (or not) at the professor’s discretion.

Assignments

There will be assignments throughout the course to help concretize the concepts being discussed in lectures. They will be announced both in class and on the course web site. Assignments are due at the time specified; late assignments will be handled according to the late policy below. If you are seriously ill or have a family emergency before the assignment is due, please let me know as soon as possible so we can make necessary arrangements. Do not notify me after the assignment is due!

All programming assignments must compile (when applicable) and run properly on the department machines turing.cs.niu.edu and hopper.cs.niu.edu. If your code does not compile on the department machines, you will not receive credit. If your code runs correctly on another machine but not on these department machines, you will not receive credit. To obtain full credit, your program must execute, fulfill the assignment requirements, follow coding conventions, and be comprehensible. Programming assignments will be graded according to correctness (60%), structure and efficiency (20%), and documentation (20%). You must include the following information in your programming assignment:

  • Your name and Z-ID
  • Course section number (CSCI 340-2)
  • Assignment number
  • Due date

Daily Programming Exercises

Daily programming exercises are designed to develop programming skills throughout the semester. They are to be completed individually, although students may ask the TA or instructor questions. Further information about these assignments will be provided in class.

Recitation

This course includes recitation sections. Students must be registered for one of these sections and must attend them at the scheduled time. These sections will provide an opportunity for students to solve problems as in groups. The course TAs will lead these sections. [Updated 2023-12-01] Recitation grades will be determined by attendence (75%) and performance (25%). You must attend 80% of recitations to receive all the points for attendence; otherwise, you receive a score proportional to the number of recitations attended. Performance scores are calculated based on the passing rate.

Quizzes

Short quizzes may also be given about a concepts covered in class to provide students a way to check their comprehension of current topics. Quizzes are generally announced but may be unannounced.

Late Policy

For assignments, you have two late days (48 hours) to use as you wish throughout the entire semester. After your late days are used, you will receive (100-10*N/6)% of your score where N ≤ 48 is the number of hours (rounded up) after the stated deadline. Weekends count.

Student Assessment

  • 25% Assignments
  • 17.5% Daily Exercises, Quizzes, and Recitation
  • 17.5% Exam 1
  • 17.5% Exam 2
  • 22.5% Final Exam

Because this course is offered to both undergraduate and graduate students, graduate students will be expected to complete additional material (extra tasks in programming assignments, extra exam questions, etc.). At a minimum, grading ranges will be 90-100% A, 80-90% B, 70-80% C, 60-70% D, < 60% F, but these ranges may be curved in the students’ favor. The ranges include +/- grades so, for example, a B+, B, and B- would be included in the 80-90 range.

Course Technologies

The course will use C++ including the Standard Template Library.

Electronic Communication

Students are responsible for reading messages sent to their @niu.edu accounts. The course instructor will attempt to respond to course-related email sent to the instructor’s @niu.edu address in a timely manner. In addition, students should turn in work via the Blackboard system unless otherwise specified, and scores and feedback will be available via that system.

Syllabus Change Policy

This syllabus is a guide and every attempt is made to provide an accurate overview of the course and its requirements. However, certain circumstances may make it necessary for me to modify the syllabus during the semester for your benefit and the changes may depend, in part, on course progress and our needs. I will announce any change to the syllabus as early as possible so that you can adjust your schedule. Please refer to the current online version for the most current information.

Extra Credit Policy

Any extra credit opportunities will be announced, and all students will have equal notice to take advantage of these opportunities.

Student Behavior

Students are expected to follow the Student Code of Conduct within the classroom settings. Faculty may ask students to leave if the faculty member(s) determines that the code of conduct has been violated and a student is creating an environment that is unsafe or not conducive to learning.

You may not record lectures without the instructor’s permission. Please do not cause distractions that detract from your fellow students’ learning. Please note that not participating in lectures (e.g. working on another assignment during lecture) will affect your learning as well as the class participation portion of your grade.

Academic Integrity

Good academic work must be based on honesty. The attempt of any student to present as his or her own work that which he or she has not produced is regarded by the faculty and administration as a serious offense. Students are considered to have cheated if they copy the work of another during an examination or turn in a paper or an assignment written, in whole or in part, by someone else. Students are guilty of plagiarism, intentional or not, if they copy material from books, magazines, or other sources without identifying and acknowledging those sources or if they paraphrase ideas from such sources without acknowledging them. All students should read and understand the University’s Student Code of Conduct and Academic Misconduct Process.

Students must complete their own work. They must not submit work from another source (e.g. another student, a generative AI tool, a book or other published document, or a website). This includes your own work; if you wrote a document for another course that you are using in this course, you must acknowledge that. You must explicitly acknowledge anything that you did not write yourself for this course. Consequences range from a zero on the assignment to dismissal from the university. In this course, the instructor reserves the right to use the plagiarism detection software.

It is the responsibility of each student to make sure that each programming assignment cannot fall into the hands of others. This will require each of you to secure and track all versions of your program. If another student submits a copy of your program, both of you will share the blame and consequences equally. Students must not post material from this class, including answers to the homework assignments, on any shared web site.

A student found responsible for academic dishonesty is subject to severe disciplinary action, which may include dismissal from the University.

Accessibility Statement

If you need an accommodation for this class, please contact the Disability Resource Center (DRC) as soon as possible. The DRC coordinates accommodations for students with disabilities. It is located in the Campus Life Building, Suite 180, and can be reached at 815-75-1303 or .

Also, please contact the instructor privately as soon as possible so we can discuss your accommodations. Please note that you will not be required to disclose your disability, only your accommodations. The sooner you let me know your needs, the sooner I can assist you in achieving your learning goals in this course.

Multilingual Student Statement

I am committed to making course content accessible to all students. If English is not your first language and this causes you concern about the course, please speak with me.

Name Statement

Class rosters and University data systems are provided to faculty with the student’s legal name and legal gender marker. As an NIU student, you are able to change how your preferred/proper name shows up on class rosters. This option is helpful for various student populations, including but not limited to: students who abbreviate their first name; students who use their middle name; international students; and transgender students. As a faculty member, I am committed to using your proper name and pronouns. Please advise me if there are any changes.

Undocumented Students Statement

Undocumented students are welcome in this class. NIU’s Undocumented Student Resource Center (USRC) can help you with advising, campus services, scholarship information, and other resources. Their services are confidential and are also available to students from mixed-status families. For more information contact the Director, Sandy López , or the Assistant Director, Angélica Mendoza . The USRC is located in room 230 of the Peters Campus Life Building.

Well-being Statement

College students may experience a range of academic, social, and personal stressors, which can be overwhelming. You are not alone. Well-being at NIU offers resources, programs, and services. If you or someone you know need assistance with comprehensive or crisis mental health support, Counseling and Consultation Services (CCS) at 815-753-1206 is ready to help 24 hours a day, 7 days a week. Additionally, the National Suicide Prevention Lifeline can be reached at 988.