Dr. Ning Zhang

319 Park Johnson Hall
https://ningzhangfisk.github.io
nzhang@fisk.edu
615-xxx-xxxx

Office Hours

Please check my schedule .
Feel free to stop by my office.
You can also make an appointment to meet me at a specific time in my office or via Zoom.

Course Description

This course continues the study of data structures and the design and analysis of algorithms. It will include an introduction to algorithm design techniques, including greedy algorithms and divide and conquer.
This course extends the material from CSCI 120, and provides in-depth analysis and usage of various data structures, including vectors and multidimensional arrays, ADTs (Abstract Data Types), singly- and doubly-linked lists, stacks, queues, trees, and graphs. Algorithms to manipulate these data structures are presented and analyzed for complexity. Other algorithms, specifically including searching and sorting, are presented and analyzed for complexity. Students will develop programs to implement and manipulate these data structures and algorithms.

Objectives

Upon completion of this course students will be able to:

Student Learning Outcome

Upon successful completion of this course the student will have demonstrated the ability to:

Student Learning Outcomes Activities to Achieve Outcomes Assessment Methods
Demonstrate proficiency and the ability to use critical thinking skills in applying data structures to various problem-solving algorithms
  • Classroom demonstration / lecture notes
  • Homework assignments
  • In-class Discussion
  • Quizzes
  • Homework exercises
  • Midterm examination
  • Final examination
Demonstrate the ability to implement data structures and the code with which to manipulate them.
  • Classroom demonstration / lecture notes
  • Homework assignments
  • In-class Discussion
  • Homework assginments
  • Quizzes
  • Examinations
Demonstrate the ability to analyze algorithms in terms of both time and spatial complexity.
  • Classroom demonstration / lecture notes
  • Homework assignments
  • Homework assginments
  • Quizzes
  • Examinations

Prerequisites

CSCI 120 and Math 115

Schedule

Section 01:

Section 02:

There will be no class on the following days:

For other important dates, please check the academic calendar

Textbook

Introduction to Java Programming and Data Structures, 12th edition

Y. Daniel Liang
ISBN-13: 978-0136520238
ISBN-10: 0136520235
Amazon Comprehensive Version
Amazon Loose Leaf Edition

Class Web Site & Canvas

The Edstem system (https://edstem.org/us/courses/838049/lessons/) will be used for this class.

Communicating with Me

You are welcome to ask me questions by e-mail. I will try to answer your e-mails within 24 hours from the time they are received. You should make sure to include "CSCI241-01" or "CSCI241-02" in the subject line to help me get to your e-mail quickly. I will occasionally send e-mail announcements via Canvas email to all students in the class and you are responsible for all official correspondence sent to your Fisk address (@fisk.edu). Make sure that you check this e-mail account regularly. I would also prefer receiving e-mails from your Fisk account, rather than from commercial e-mail providers such as hotmail, gmail etc. I will try to call you by your preferred name. As a matter of professionalism, I’d prefer you call me "Prof. Zhang" or "Dr. Zhang". I will insist that we all start our e-mails with the recipient’s name (not "Hey" or just blank) and end our e-mails with the sender's name.

How Your Grade is Determined

Your grade for this class is determined by the following:

Homework 30%
Lab 15%
Quizzes 15%
Midterm Exam 15%
Final Exam 25%
Note that I will submit the same grade for your lecture and lab courses.

Attendance Attendance in class is strictly required by university policy, unless permitted by the instructor in advance. You are expected to attend all classes and to arrive on time. I will take attendance most days, but not every day.
Fisk’s Attendance Policy Statement: “Attendance in class is strictly required by University policy. In each course, students who miss more than ten percent of the scheduled class meetings (including labs) due to unexcused absences will be in danger of failing the course. For a class that meets three times per week, the number of unexcused absences would be five class sessions; for a class that meets twice a week, three class sessions; and for a class that meets once per week, two class sessions.”

Homework Assignments Each assignment will be given a date and a time when the assignment is due. You are expected to complete all assignments on time, late submissions will receive a zero. Start early and avoid waiting until the last minute! Late submissions will only be accepted in exceptional circumstances, such as illness or conference attendance, and must be supported by valid evidence, such as a doctor’s note or conference registration.

Labs Each lab will be given a date and a time when the lab is due. You are expected to complete all labs on time, late submissions will receive a zero. Start early and avoid waiting until the last minute! Late submissions will only be accepted in exceptional circumstances, such as illness or conference attendance, and must be supported by valid evidence, such as a doctor’s note or conference registration.

Quizzes There will be several quizzes throughout the semester. Each quiz will be announced in advance. The lowest quiz (when there are three or more quizzes) will be dropped when computing your final grade for the class. Quizzes are closed-book and closed-notes, and no electronic devices are allowed. All personal electronic devices, including calculators, cell phones, watches, and any other electronics, must be stored under your seat during quizzes. Lab computers are also prohibited. Using any electronic device or engaging in cheating will result in a score of zero. Quizzes must be taken on the scheduled date and time. Missing a quiz will result in a zero unless there are exceptional circumstances, such as illness, conference attendance, or interviews. These exceptions must be supported by valid evidence, such as a doctor’s note, conference registration, or an interview invitation that confirms the quiz time is the only available option for both you and the interviewer.

Midterm Exam The midterm exam will be on Wednesday, Mar 5, 2025. This exam is closed-book and closed-notes, and no electronic devices are allowed. All personal electronic devices, including calculators, cell phones, watches, and any other electronics, must be stored under your seat during quizzes. Lab computers are also prohibited. Using any electronic device or engaging in cheating will result in a score of zero. The midterm exam must be taken on the scheduled date and time. Missing it will result in a zero unless there are exceptional circumstances, such as illness, conference attendance, or interviews. These exceptions must be supported by valid evidence, such as a doctor’s note, conference registration, or an interview invitation that confirms the exam time is the only available option for both you and the interviewer.

Final Exam The final exam will be on to-be-updated (double check here). The final exam will comprehensive and will include all topics covered during the semester. This exam is closed-book and closed-notes, and no electronic devices are allowed. All personal electronic devices, including calculators, cell phones, watches, and any other electronics, must be stored under your seat during quizzes. Lab computers are also prohibited. Using any electronic device or engaging in cheating will result in a score of zero. The final exam must be taken on the scheduled date and time. Missing it will result in a zero unless there are exceptional circumstances, such as illness, conference attendance, or interviews. These exceptions must be supported by valid evidence, such as a doctor’s note, conference registration, or an interview invitation that confirms the exam time is the only available option for both you and the interviewer.

Letter grades will be assigned based on the following:

Grade Score Range Grade Score Range Grade Score Range Grade Score Range Grade Score Range
A [90,100] B+ [87,90) B [83,87) B- [80,83) C+ [77,80)
C [73,77) C- [70,73) D [60,70) E [0,60)

In determining borderline grades, I reserve the right to consider perceived student initiative and class participation.

An incomplete will be given only when a student meets the requirements of the latest Fisk University policies. Earning a low grade is not a valid reason for an incomplete.

Make-Up Policy

Quizzes and Exams Make-up quizzes/exams will only be given in the event of a documented excused absence (for example, medical absences required a signed note on letterhead paper from your doctor.) You must notify me of an excused absence within 24 hours after the missed quiz/exam or no make-up will be allowed. Normally make-up quizzes/exams are somewhat more difficult that the original quiz/exam.
Quizzes/exams can NOT be taken online.

Academic Integrity

Cheating is not tolerated. Any student caught cheating will fail the course, regardless of their numerical average in the class at the time. Cheating activities include but are not limited to conferring with one another during a test by text messaging, talking, hand signals, roaming eyes, and other signals. Do not allow others to look at answers on your paper. Do not bring answers or information sheets into the room that can be seen by another person, i.e. cheat sheet, writing on the arm or other parts of the body, etc. Act responsibly and honestly.
All homework submissions must represent the individual student's work, except in those cases where work has explicitly been assigned to teams, in which case the work performed must be that of the team members, with no outside assistance. Solutions to problems may not be used from other sources, including (but not limited to) other students, books, magazines, or the Internet. Discussions with other students regarding homework is allowed only to the extent of general understanding of the question; however, sharing solutions, solution approaches, or other specific information on homework problems is considered cheating. All homework submissions must represent the individual student's work, except in those cases where work has explicitly been assigned to teams, in which case the work performed must be that of the team members, with no outside assistance.

Please see the Fisk University Student Handbook for further details.

ADA COMPLIANCE STATEMENT

The Rehabilitation Act of 1973 and the Americans with Disabilities Act (ADA) require that “no qualified person shall, solely by reason of disability, be denied access to, be excluded from participation in, or the benefits of services, programs or activities or subjected to discrimination under any program or activity receiving federal assistance.”
Students with disabilities who qualify for academic accommodations must provide notification from Counseling Services and discuss specific needs with the instructor, preferably during the first two weeks of class. Contact Counseling Services at 329-8776 to assist in arranging appropriate accommodations if you have a disability.

How to Succeed in this Class

Attend Class Showing up on time for every class is the easiest way to improve your grade — not merely because of the credit for attendance, but also because of exposure to the content presented in class.

Level of Effort Normally a student can expect to spend about two hours of work, outside of class, for each credit unit. Thus a typical expected workload would be about six hours per week outside of class. This is not a course where students read or write essays. Most of your time will be spent experimenting with programs and studying programming language conventions and techniques to understand concepts.

Prepare for Class Read the chapter sections ahead of time for each class. When reading the material, enter and compile as many of the sample programs as possible. You may be surprised at how much this reinforces the chapter material. Reading ahead of time will make it easier to follow the lecture and it will help you decide what to ask about in class.

Do the Homework Start working on the homework problems as soon as possible. Often, a problem that stumps you one day will seem obvious a day later. You should view the homework assignments as preparation for the exams. It is imperative that you understand and complete the homework.

Manage Your Time I encourage you to develop a system to actively manage you priorities and time. You should schedule time each week to complete assignments and to complete readings in advance of class. Effective time management will help you not only in this class but also in the rest of your studies and in your career. Poor time management and late completion of assignments will be detrimental to your learning experience and will be reflected in your grade for the class.

Stay Organized Organize your class notes and save all of your graded homework assignments. These will be a great resource when studying for the exams. Also be sure to keep your computer files organized. You will write a plethora of programs for this class; it is easy or them to quickly become disorganized.

Visit Me If you have problems during the semester that affect your coursework, please see me as soon as possible so we can discuss your options for the course. If you find yourself falling behind in the class, please see me. It is likely we can work together to get you back on track.

Tentative Course Outline (subject to change)

Week Topic
1 Tues 8/19 First day of class is Tuesday, 8/19
Syllabus
Topic 1: Arrays
Thur 8/21
Friday 8/22
2 Tues 8/26 Topic 1: Arrays
Thur 8/28
Friday 8/29
3 Tues 9/2 Topic 2: Lists
Thur 9/4
Friday 9/5
4 Tues 9/9 Topic 2: Lists
Thur 9/11
Friday 9/12
5 Tues 9/16 Topic 3: Stacks, Queues, and Deques
Thur 9/18
Friday 9/19
6 Tues 9/23 Topic 3: Stacks, Queues, and Deques
Thur 9/25
Friday 9/26
7 Tues 9/30 Topic 4: Recursion
Thur 10/2
Friday 10/3
8 Tues 10/7 Topic 4: Recursion
Midterm Exam (Thursday 10/9)
Thur 10/9
Friday 10/10
9 Tues 10/14 Topic 5: Analysis of Algorithms
Thur 10/16
Friday 10/17
10 Tues 10/21 Topic 6: Trees
Wedn 10/23
Friday 10/24
11 Tues 10/28 Topic 6: Trees
Thur 10/30
Friday 10/31
12 Tues 11/4 Topic 7: Maps and Hash Tables
Thur 11/6
Friday 11/7
13 Tues 11/11 Topic 8: Sorting
Thur 11/13
Friday 11/14
14 Tues 11/18 Topic 8: Sorting
Topic 9: Graphs
Thur 11/20
Friday 11/21
15 Tues 11/25 Thanksgiving, no class
Thur 11/27
Friday 11/28
16 Tues 12/2 Final Review(Tues 12/2)
The Final Exam is on to-be-updated
Thur 12/4
Friday 12/5

Disclaimer

The instructor reserves the right to alter any portion of this syllabus to suit the need of the class. If, and when that happens the class will be informed prior to implementation of the changes.