CSCE 350 H01: Data Structures and Algorithms (Spring 2022)

 

 

Class Meeting: TR 10:05 AM 11:20 AM in Swearingen 2A18

 

Course Instructor: Dr. Yan Tong

Email: tongy@cse.sc.edu

Storey Innovation Center 2273

777-0801 (office)

Office Hours: by appointment

 

Tentative Syllabus: http://www.cse.sc.edu/~tongy/csce350/csce350syl.pdf

 

Academic Bulleting Description:

Techniques for representing and processing information, including the use of lists, trees, and graphs; analysis of algorithms; sorting, searching, and hashing techniques.

 

Pre-requisites:

CSCE 240MATH 174 or MATH 374 or MATH 574.

 

Pre-requisite by topics:

         Introductory programming and data structures

         Discrete mathematics

         Use of simple data structures (queues, stacks, lists, trees)

         C/C++ programming

 

Course Textbook:

All course materials comply with copyright/fair use policies.

 

Goals and Learning Outcomes:

Student will be able to

1. Describe formal analysis measures.

2. Describe the relevance of abstraction to problem solving.

3. Analyze and use lists, trees, and graphs.

4. Apply common algorithm design techniques: brute force, decrease & conquer, divide & conquer, transform & conquer, dynamic programming, and the greedy technique

5. Analyze algorithms.

6. Use appropriate data structures

 

 

Grading System:

All grades will be posted on Blackboard. You are strongly encouraged to check you scores in Blackboard regularly. A final letter grade will be assigned based on:

 

A (90-100%), B+ (86-89%), B (80-85%), C+ (76-79%), C (70-75%), D+ (66-69%), D (60-65%), and F (0-59%)

 

Grading policy

         Midterm exams (2) (15% each)

         Final exam (20%)

         Homework assignments (6) (4% each)

         Programming assignments (4) (21% in total, individual weights applied)

         Quizzes (5) (1% each)

 

Covered Topics:

         Structured programming, stacks, queues, lists

         Determining the Running Time of Programs, Order of Magnitude Analysis

         Brute force

         Divide-and-Conquer

         Dynamic Programming

         Transform-and-Conquer

         The Greedy Technique

         Decrease-and-Conquer

         Graphs

         Reviews and exams

         Invited talks (TBA) based on available time

 

Course Communication:

The lecture notes and homework/programming assignments will be posted on the Blackboard and course website, and solutions to the assignments, quizzes, and exams will be posted on the Blackboard. Announcements of this course will be posted in Blackboard and course website whenever necessary.

 

I will be communicating with you regarding grades and assignments. If you need to get in touch with me, the best method is via email (tongy@cse.sc.edu ). Generally, I will reply to emails within 24 hours and will provide feedback on assignments within 72 hours. You may also post questions pertaining to the course on the Blackboard Discussion Board. These questions will be answered within 24 hours. If you are having trouble with this course or its material, you should contact me via email to discuss the issues. If there is any other information I think is important, I will send it to your email address you have in Blackboard. It is your responsibility to ensure that your email account works properly to receive email.

 

Late Submission Policy:

Make-up quizzes/ midterm-exams/ final exam are not allowed except excusable absences (http://bulletin.sc.edu/content.php?catoid=52&navoid=1280#Attendance_Policy) with appropriate documentation and advanced notice. Please refer to Attendance Policy below for details.

Late submissions of the homework/programming assignments will be accepted ONLY if BOTH of the following requirements are met:

         You must contact me in advance of the required assignment to make arrangement for its completion.

         You must complete the assignments within the week following its due date.

However, late submissions will be subject to the following penalty except excusable absences: 10% will be deducted from your grade for the first day late, and an additional 5% will be deducted on each subsequent day.

ONE-TIME waiver of late submission penalty: you are granted for a ONE-TIME waiver of late submission penalty - you will not be penalized if you submit your assignment in three days after due date. Please notify me in advance when you use this waiver.

 

Attendance Policy:

Success in this course is dependent on your active participation throughout the course. Class attendance is required as claimed in University policy. If you are absent, you are responsible for learning material covered in class. If you have an excused absence (https://academicbulletins.sc.edu/undergraduate/policies-regulations/undergraduate-academic-regulations), you will be permitted to make up coursework or complete an equivalent assignment agreed upon with me.

To arrange excuses for absences that can be anticipated at the start of the term, you should:

         Submit a written request (email is acceptable) stating the dates of the anticipated absence no later than the end of the second week of the course.

         Explain the reason for absence. Documentations are required. Please consult the policy (https://academicbulletins.sc.edu/undergraduate/policies-regulations/undergraduate-academic-regulations) for additional information.

         Include any request for make-up work.

To arrange excuses for absences that cannot be anticipated at the start of the term, (e.g. legal proceedings or illness), you should, at the first opportunity, submit in a written request stating:

         The date of absence

         The reason for absence. Documentations are required. Please consult the policy for additional information.

Any request for make-up work as soon as reasonably possible after you become aware of the need to be absent.

Academic Integrity:

You are expected to practice the highest possible standards of academic integrity. Any deviation from this expectation will result in a minimum academic penalty of your failing the assignment and will result in additional disciplinary measures. Violations of the University's Honor Code include, but are not limited to improper citation of sources, using another student's work, and any other form of academic misrepresentation. Violations of the University's Honor Code will be reported to the Office of Student Conduct and Academic Integrity. Below are some websites for you to visit to learn more about University policies:

Carolinian Creed (http://www.sc.edu/creed)

Academic Responsibility (http://www.sc.edu/policies/staf625.pdf)

Office of Student Conduct and Academic Integrity (https://www.sc.edu/about/offices_and_divisions/student_conduct_and_academic_integrity/index.php)

Information Security Policy and Standards (https://sc.edu/about/offices_and_divisions/division_of_information_technology/security/policy/universitypolicy/)

 

Disability Services:

Student Disability Resource Center (SDRC) (https://www.sc.edu/about/offices_and_divisions/student_disability_resource_center/)  empowers students to manage challenges and limitations imposed by disabilities. Students with disabilities are encouraged to contact me to discuss the logistics of any accommodations needed to fulfill course requirements (within the first week of the semester). In order to receive reasonable accommodations from me, you must be registered with the Student Disability Resource Center (1705 College Street, Close-Hipp, Suite 102, Columbia, SC 29208, 803-777-6142). Any student with a documented disability should contact the SDRC to make arrangements for appropriate accommodations.

 

Health and Safety:

Students are expected to comply with all university health and safety guidelines including those about COVID-19.  For current COVID-19 guidelines, visit https://sc.edu/safety/coronavirus/safety_guidelines.

 

 

Lectures:

         Lecture 1

         Lecture 2

         Lecture 3

         Lecture 4

         Lecture 5

         Lecture 6

         Lecture 7

         Lecture 8

         Lecture 9

         Lecture 10

         Lecture 11

         Lecture 12

         Lecture 13

         Lecture 14

         Lecture 15

         Lecture 16

         Lecture 17

         Lecture 18

         Lecture 19

         Lecture 20

         Lecture 21

         Lecture 22

         Lecture 23

         Lecture 24

         Lecture 25

         Lecture 26

          

 

Homework:

         Homework #1 due at 10:05 AM EST, Jan. 20, 2022.

         Homework #2 due at 10:05 AM EST, Feb. 3, 2022.

         Homework #3 deadline is extended to 11:59 PM EST, Feb. 25, 2022.

         Homework #4 due at 10:05 AM EST, March. 3, 2022.

         Homework #5 due at 10:05 AM EST, April 7, 2022.

         Homework #6 due at 10:05 AM EST, April 21, 2022.

 

 

Programming assignment:

         Program Assignment #1 due at 11:59 PM EST March 15, 2022.

         Program Assignment #2 due at 11:59 PM EST March 29, 2022.

         Program Assignment #3 due at 11:59 PM EST April 10, 2022.

         Program Assignment #4 due at 11:59 PM EST April 24, 2022.

 

 

Quiz:

         Quiz #1 has been scheduled for 11:05 11:20 am, Thursday, Jan 20.

         Quiz #2 has been scheduled for 11:05 11:20 am, Tuesday, March 1.

         Quiz #3 has been scheduled for 11:05 11:20 am, Thursday, March 17

         Quiz #4 has been scheduled for 11:05 11:20 am, Tuesday, April 5

         Quiz #5 has been scheduled for 11:05 11:20 am, Tuesday, April 12

 

 

Exams:

         Midterm Exam #1 has been scheduled for 10:05 11:20 am, Thursday, Feb 10 in class.

         Midterm Exam #2 has been scheduled for 10:05 11:20 am, Thursday, March 24 in class.

 

         Final Exam has been scheduled for 9:30 11:30 am, Tuesday, May 3