CS202-Course Outline
CS202-Course Outline
Course Basics
Credit Hours 3
Lectures Nbr of Lec(s) Per Week 2 Duration 75 mins
Labs Nbr of Lec(s) Per Week None Duration
Tutorials Nbr of Lec(s) Per Week TBA Duration
Course Distribution
Core Yes
Elective No
Open for Student Category All (whoever satisfies the course prerequisite)
Close for Student Category None
Course Description
Data structures are the key abstractions for storing data in computer systems and thus form an essential building block for efficient
algorithms. They are used in the design of a wide variety of applications today including cryptocurrencies (e.g., Bitcoins), search
engines (e.g., Bing, Google), social networking (e.g., Twitter, Facebook), and data processing frameworks for machine learning and
data science (e.g., Spark and Tensorflow). Thus, a sound conceptual understanding of data structures and experience with
implementing them is a highly sought-after skill in the technology industry and beyond. This course introduces the fundamentals of
data structures and aims to provide a deep understanding of how different ways of structuring information in computer systems lead
to different tradeoffs in terms of time and memory. Students will be introduced to analytical tools for comparing different data
structures. The course will augment students’ theoretical understanding with rigorous programming assignments, which form an
essential component of the course.
Course Prerequisite(s)
Course Objectives
CO-1 To understand the fundamental tradeoffs in the design of common data structures
CO-2 To introduce tools for analyzing the time and space complexity of data structures and algorithms
CO-3 To provide rigorous ‘hands-on’ experience with implementing different data structures in a programming language
Lahore University of Management Sciences
Learning Outcomes
LO-1 Students will be able to understand the working of basic data structures
LO-2 Students will be able to understand the fundamental tradeoffs in the design of data structures
LO-3 Students will be able to compare the time and space efficiency of different data structures
LO-4 Students will be able to appreciate how changing application requirements can lead to new data structures
LO-5 Students will be able to write programs to efficiently store, retrieve, and manipulate data
Assessment Weightage LO
Assignments 30% LO-1, LO-3, LO-5
Quizzes 35% LO-1, LO-2, LO-3, LO-4 LO-5
Final 35% LO-1, LO-2, LO-3, LO-4, LO-5
This spring, CS202 will be run entirely online. In this section, we detail how exactly each component of the course will operate.
Lectures
• There will be 2 lectures per week over the course of the semester.
• Each lecture will also have a Piazza thread for students to ask questions.
•
Programming Assignments
Assignments are designed to help students develop an in-depth understanding of the practical aspects of ideas and concepts
presented in the lectures. Their aim is to integrate these ideas into actual working code.
• There will be 4 assignments in the course.
• All assignments are required to be done in C++.
• The primary form of support the students will have for assignments are the office hours we’ll host, and Piazza.
• You are allowed 5 "free" late days during the semester (that can be applied to one or more assignments).
• If you submit your work late for any assignment once your 5 “free” late days are used, the following penalty will be applied:
o 10% for work submitted up to 24 hours late
o 20% for work submitted up to 2 days late
o 30% for work submitted up to 3 days late
o 100% for work submitted after 3 days (i.e., you cannot submit assignment more than 3 days late after you have
used your 5 free late days.
Quizzes
• We will have 8 quizzes in the course but only the best 6 quizzes will be counted towards your grade. An important purpose of
having N-2 quizzes is to account for all issues (e.g., Internet connectivity, electricity outage, sickness, etc) that may prevent
you from taking the quiz. No request for a makeup quiz will be entertained if you miss up to 2 quizzes irrespective of the
reason. In the exceptional situation in which you end up missing more than 2 quizzes, we will consider a makeup quiz only if
there is a valid justification. In that case, we reserve the right to determine the mode of the quiz, which may be oral or
textual.
• All quizzes will take place during class timings and will be 10-15 mins in duration
• All quizzes will be announced (see schedule below for the quiz dates)
• The syllabus for every quiz will include everything covered before the lecture in which the quiz will be taken
Ungraded Homeworks
• There will be 4 ungraded homeworks to help you practice with the course material (please see the schedule below for the
homework release dates)
Office Hours
• We’ll be dividing the class into groups, each of size ~20-25 students. Each group will be assigned one primary TA, who will
be responsible for guiding and helping students especially during office hours and one secondary TA, who should only be
contacted if the primary TA is not available.
Exam
There will be no midterm exam in the course. We will just have a final exam, which will be conducted synchronously.
Lahore University of Management Sciences
Academic Honesty
We believe that most students can distinguish between helping other students understand course material and cheating (if in doubt
ask the course staff!). Explaining a subtle point from lecture or discussing course topics is an interaction that we encourage. However,
all coursework must be completed individually and independently unless explicitly stated otherwise. We have various methods of
detecting cheating – so please don’t do it! We also ask that you do not post your assignment solutions publicly.
Any instance of academic dishonesty in this course (intentional or unintentional) will be dealt with swiftly and severely. Potential
penalties include receiving a failing grade on the assignment in question or in the course overall and forwarding of the case to the
disciplinary committee. For further information about this, please make yourself familiar with the relevant sections of the LUMS
student handbook.
We understand that deadlines can be stressful, and when under severe pressure, it can become tempting to start rationalizing actions
that you would otherwise consider clearly inappropriate. Perhaps you’ll find yourself attempting an online quiz, or facing an
assignment deadline, and under all this pressure you’ll convince yourself that you’re just going to cheat for the moment so you can
get the points. This is a terrible idea! Obviously, it is important to learn how to deal with deadlines, but far more important than
that, resorting to cheating is going to do some damage to your moral compass. Someday, when the consequences are higher than
potentially losing a 1/5th of a letter grade, you may find yourself committing dishonest acts at the cost of someone else’s livelihood
or life.
Cheating besides being unethical also has many profound negative consequences:
• It takes away your opportunity for learning and lowers your confidence
• You’d never get this time back!
• Negatively impacts your colleagues
Rather than copying someone else’s work, ask for help. The entire course staff is here to help you succeed. If you invest the time to
learn the material and complete the assignments, you won’t need to copy any answers.
SSE, LUMS and particularly this class, is a harassment free zone. There is absolutely zero tolerance for any behaviour that is intended
or has the expected result of making anyone uncomfortable and negatively impacts the class environment, or any individual’s ability
to work to the best of their potential. In case a differently-abled student requires accommodations for fully participating in the course,
students are advised to contact the instructor so that they can be facilitated accordingly.
If you think that you may be a victim of harassment, or if you have observed any harassment occurring in the purview of this class,
please reach out and speak to me. If you are a victim, I strongly encourage you to reach out to the Office of Accessibility and
Inclusion at [email protected] or the sexual harassment inquiry committee at [email protected] for any queries, clarifications,
or advice. You may choose to file an informal or a formal complaint to put an end of offending behavior. You can find more details
regarding the LUMS sexual harassment policy here. To file a complaint, please write to [email protected].
In addition to LUMS resources, SSE’s Council on Belonging and Equity is committed to devising ways to provide a safe, inclusive and
respectful learning environment for students, faculty and staff. To seek counsel related to any issues, please feel free to approach
either a member of the council or email at [email protected]
Lahore University of Management Sciences
Makeup Policy
• Please refer to Student Handbook 2019-20, page 37, article 25, titled “Makeup Policy for Graded Instruments”.
• “In case N-X policy is implemented for an instrument having multiple sub instruments then petitions will not be accepted
for that instrument”.
Examination Detail
Midterm Exam Yes/No: No
Yes/No: Yes
Combine Separate:
Final Exam Duration:
Exam Specifications:
Code of Conduct
1. All quizzes will be announced (in fact, they have already been specified in the schedule below).
2. All assessments including quizzes and the final exam will be timed. Make sure that you are able to start them on time.
Lahore University of Management Sciences
Lec Topics Assessments
11 B+ Trees
• Towards m-ary trees HW-2 Release: 26th Feb
• What are B+ trees? Why do we need them?
• B+ tree operations
25 Shortest-Path Algorithms
• When is the shortest-path well-defined? QUIZ-8
• How can we find shortest paths in a graph? What is the impact of the choice of data
structures on the complexity of shortest-path algorithms?
• Understanding Dijkstra’s algorithm
28 Final Review
• Course Review
• What’s Next?
Textbook(s)/Supplementary Readings
Data science is a relatively new and rapidly evolving field and there is no single ideal textbook for this subject. Following are
recommended readings:
I. Data Structures and Algorithms in C++, 2nd Edition (Michael T. Goodrich, Roberto Tamassia, David M. Mount)
The textbook for CS202 (Spring 2021)
II. Data Structures and Algorithm Analysis in C++, Fourth Edition (Mark Allen Weiss)
(Optional) Provides a detailed introduction to data structures and algorithms