CAS2103:
Data Structures
Course Information
Instructor: Seong Jae Hwang (seongjae@yonsei.ac.kr)
Instructor Office: 공학원 439B
Lecture Date/Time: Wednesday 13:00 - 13:50, Friday 13:00 - 14:50
Class Location: 공학원 170E
TA:
Jiwoo Park
Sujung Hong
Tae Eun Choi
Course Description
This course introduces the fundamental concept of data structures and the importance of data structures in developing and implementing efficient algorithms. The topics include various data structures such as arrays, linked lists, stacks, queues, strings, graphs, trees, and hash tables. Relevant algorithms will be analyzed to assess the strengths and weaknesses of data structures. The lectures and assignments will primarily be done in Python.
Pre-requisites
CAS/CSI/CCO2102 or an equivalent level of fluency in an objected-oriented programming language
Programming languages
Python. Coding assignments in Jupyter Notebook file (.ipynb) in an open-source IDE Jupyter Notebook or Jupyter Lab. Other IDEs are also allowed as long as you can use .ipynb.
Textbooks
Data Structures and Algorithms in Python. Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser
Each Week on learnus, you will see:
Announcements (HW, Exams, etc.)
Slides
Lecture Recording Links
Course Policies
Grading
Programming HW assignments (4 assignments x 10% each = 40%)
Attendance (10%)
Midterm (25%)
Final (25%)
Homework Assignments
How many?: 4 coding HW assignments total (10% each).
When?: Homework is due at 11:59pm on the due date.
Where?: Download and submit your homework in learnus.
Please comment your code if you want your code to be analyzed when it fails.
Late policy: -20% of the assignment's total per late day.
Late day is counted based on the submission date. example: Due 3/1 at 11:59PM. Submitted anytime on 3/2 = 1 day late. Submitted anytime on 3/3 = 2 days late.
-20% means you lose 20% of the total possible HW grade. example: Your HW1 was initially scored 90/100 pts, but it was submitted 2 hours late. The final HW1 grade is 70/100.)
Attendance
10% of total course grade.
Allowed to miss 1 lecture without penalty. No justifications are necessary. *This is for inevitable personal circumstances such as doctors appointment, interviews, etc.
Lose 0.5% per missing lecture. Need to attend at least 2/3 of lectures. Meaning, you cannot miss more than 8 lectures.
If you miss a lecture due to an unusual circumstance (e.g., medical, etc.), contact me ASAP.
Note: During the add/drop period (9.5. - 9.7.), attendance will not be counted for your grade. Meaning, for the first two lectures, you get free attendance even if you do not check in using the electronic attendance system. You are welcome to check in using the electronic attendance system.
Exams
Midterm (4.18 during lecture 13:00-14:50): 25%
Note: this is during week 7 (one week before the midterm week)
Final (6.20 during lecture 13:00-14:50): 25% (not cumulative)
In-person: 170E (same lecture location)
Homework Late Policy
Collaboration Policy and Academic Honesty
You will do your work (exams and homework) individually.
The work you turn in must be your own work.
You are allowed to discuss the assignments with your classmates, but do not look at the code they might have written for the assignments, or at their written answers.
You are not allowed to search for code on the internet, use solutions posted online unless you are explicitly allowed to look at those, or to use Python's implementation if you are asked to write your own code.
When in doubt about what you can or cannot use, ask the instructor!
Posting and asking HW questions online (e.g., Stack Overflow) is NOT allowed. This will be considered as cheating.
A first offense will cause you to get 0% credit on the assignment. A report will be filed with the school.
A second offense will cause you to fail the class and receive a disciplinary penalty.
Note on Disabilities
If you have a disability for which you are or may be requesting accommodation, you are encouraged to contact your instructor ASAP.
Note on Medical Conditions
If you have a medical condition which will prevent you from doing a certain assignment, you must inform the instructor of this before the deadline. You must then submit documentation of your condition within a week of the assignment deadline.
Statement on Classroom Recording
To ensure the free and open discussion of ideas, students may not record classroom lectures, discussion and/or activities without the advance written permission of the instructor, and any such recording properly approved in advance can be used solely for the student's own private use.