CS250 - Data Structures and Algorithm: BESE-2A/B Aasma Zahid

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

CS250 - Data Structures and

Algorithm
BESE-2A/B

Lecture 01
Aasma Zahid
Course Details
• Credit Hours
– 3 + 1; 3 hours of theory; 3 hours of lab per week

• Prerequisites
– Fundamentals of Programming in C/C++
– Object Oriented Programming using C++

• Programming Language
– C++

• Objectives
– Data Structures and their usage
– Algorithm design, implementation, and complexity analysis
9/11/2012 DSA - Fall 2012 - SEECS, NUST 2
Course Details
• Text Book
– Data Structures and Algorithms in C++ by Adam
Drozdek. ISBN 0-534-37597-9. 2001

• Reference Books
– C++ plus Data Structures by Nell Dale and David
Teague. ISBN 0-7637-0481-4, 2003
– C++ An Introduction to Data Structures by Larry
Nyhoff. ISBN 0-13-369190-X. 1999
9/11/2012 DSA - Fall 2012 - SEECS, NUST 3
Course Outline
Week # Topic
1 C/C++ Review
2-3 Linked Lists
4-5 Stacks and Queues
6 OHT-1
7 Recursion
8 Complexity Analysis
10 Sorting
11 Trees, Binary Trees
12 OHT-2
13 Binary Search Trees, Heaps
14-15 Graphs and Searching
16 Hashing, Efficient Sorting
17 Project Presentations and Lab Exam
18 End Semester Exam

9/11/2012 DSA - Fall 2012 - SEECS, NUST 4


Tentative Evaluation Criteria
• 75% Theory + 25% Practical

• Theory
– 15% OHT 1
– 15% OHT 2
– 45% Final Exam
– 10% Assignments
– 15% Quizzes

• Practical
– 70% Weekly Lab Tasks + Lab Exams
– 30% Project
9/11/2012 DSA - Fall 2012 - SEECS, NUST 5
Assignments/Quiz Policy
• Quiz
– 6+ unannounced quizzes
– No reschedules
– No best-of policy

• Assignments
– Individual homework, unless explicitly stated
– Late submissions subject to 25% deduction per day
– Plagiarism policy applies; Submission through LMS

• Lab
– One session of 3 hours per week
– Evaluation by viva in each lab session
9/11/2012 DSA - Fall 2012 - SEECS, NUST 6
Project Policy
• 30% of practical work
• Group work
– Recommended 2-3 students per group
• Due on 17th week of Fall 2012
– Exact date will be communicated later
– Project report
– Presentation
– Demonstration of work

9/11/2012 DSA - Fall 2012 - SEECS, NUST 7


Academic Dishonesty
• Cheating, copying, fraud, bribery, plagiarism,
fabrication or deception
• Zero Tolerance Policy
– Assignments
– Lab Work
– Project
– Quiz
• Case shall be forwarded to Plagiarism Control
Committee for strict disciplinary actions
9/11/2012 DSA - Fall 2012 - SEECS, NUST 8
Counseling Hours
• Office
– Ground Floor; 103 IACE Building

• Counseling Hours
– Tuesday 10:00 AM to 12:00 PM
– Or by appointment through email aasma.zahid@seecs.edu.pk
– Your subject line should say

DSA-F12-BESE2A/B-Counseling Appointment

• Additional Information
– Check course home page on LMS for announcements, course
materials etc.

9/11/2012 DSA - Fall 2012 - SEECS, NUST 9


Any Questions?

9/11/2012 DSA - Fall 2012 - SEECS, NUST 10


Data Structures -> Data StructurING
How do we organize information so that we can
find, update, add, and delete portions of it
efficiently?

9/11/2012 DSA - Fall 2012 - SEECS, NUST 11


Example Applications
• How does Google quickly find web pages that
contain a search term?
• What’s the fastest way to broadcast a message
to a network of computers?
• How can a subsequence of DNA be quickly
found within the genome?
• How does your operating system track which
memory (disk or RAM) is free?
• In the game Half-Life, how can the computer
determine which parts of the scene are visible?
9/11/2012 DSA - Fall 2012 - SEECS, NUST 12
What is Data Structure Anyway?
• It’s an agreement about:
– How to store a collection of objects in memory,
– What operations we can perform on that data,
– The algorithms for those operations, and
– How time and space efficient those algorithms
are.

9/11/2012 DSA - Fall 2012 - SEECS, NUST 13


Data Types
• Primitive Data Types
• User-Defined Data Types (UDTs)
• Abstract Data Types (ADTs)

9/11/2012 DSA - Fall 2012 - SEECS, NUST 14


Data Structures & Algorithm
• Algorithm
– Logical steps to solve problem
• Program
– Data Structure + Algorithm
• Pseudo code
– Tool to define algorithm
– English like representation of code

9/11/2012 DSA - Fall 2012 - SEECS, NUST 15


Questions or Concerns?

9/11/2012 DSA - Fall 2012 - SEECS, NUST 16

You might also like