Data Structures and Algorithms
(CC-2042)
Lecture 1
ENGR. DR BILAL ASHFAQ AHMED
SCHOOL OF SYSTEMS AND TECHNOLOGY (SST)
COMPUTER SCIENCE FACULTY
2
About Instructor
 Education
 Ph.D. (Computer Science)
Universiti Teknologi Malaysia (UTM), Johor, Malaysia.
 M.Sc. (Computer Engineering)
University of Engineering & Technology (UET), Lahore, Pakistan.
 B.E. (Computer System Engineering)
Balochistan University of Engineering & Technology (UET), Khuzdar, Pakistan.
 Professional Experience
 Assistant Professor, Sept 2024 to Date
◦ Computer Science Faculty (UMT, Lahore, Pakistan)
 Junior Visiting Researcher (Faculty of Computing, Universiti Teknologi Malaysia (UTM), Johor,
Malaysia)
 Assistant Professor (Department of Electrical Engineering, The University of Lahore (UOL), Lahore,
Pakistan.)
 BSS Engineer (Hyquip Sourcing & Services, Lahore, Pakistan.)
DLD
DLD 3
About Instructor
 Research Interests
 Software Defined Networks (SDN)
 Internet of Things (IoT)
 Cloud Computing
 Deep Learning
 Machine Learning
 Optimization Algorithm
 Professional Information
 Email: bilal.ahmed@umt.edu.pk
 Office: SDT Building 402 (Cabin No: 8)
 Office Hours: Monday to Thursday (10am-12Pm)
DLD 4
Course Information
 This course provides an in-depth understanding of data
structures and algorithms.
 Students will learn how to design, implement, and
analyze efficient algorithms using various data structures
like arrays, linked lists, stacks, queues, trees, graphs,
and hash tables.
 The course emphasizes the importance of time and space
complexity and aims to enhance problem-solving skills
essential for advanced computing and programming tasks
DLD 5
Course Objectives
 Understand the basic concepts of data structures and
algorithms.
 Implement various data structures and their associated
algorithms.
 Analyze the time and space complexity of algorithms.
 Solve real-world computing problems using efficient
algorithms and data structures.
 Develop programming skills through hands-on coding
exercises.
DLD 6
Course Outline
 Introduction to Data Structures and Algorithms
 Arrays and Linked Lists
 Stacks and Queues
 Recursion and Backtracking
 Trees (Introduction and Basic Concepts)
 Advanced Trees (AVL Trees, Heaps)
 Hashing and Hash Tables
 Graphs (Introduction and Basic Concepts)
 Advanced Graph Algorithms
 Sorting Algorithms
 Searching Algorithms
 Dynamic Programming and Greedy Algorithms
 Complexity Theory and Algorithm Design Techniques
 Revision and Advanced Topics (Optional)
DLD 7
Recommended Books
 D. S. Malik, Data Structures Using
C++: Course Technology, 2010.
 M. A. Weiss, Data Structures &
Algorithm Analysis in C++: 4th
edition: Pearson Education, 2013.
 R. Sedgewick, Algorithms in C++:
Addison-Wesley, 1998.
DLD 8
Course Grading Policy
Final-term Exams [40 %]
There will be a cumulative closed-book final exam covering all topics. Date and time of
the final will be announced at the end of the semester.
Mid-term Exams [25 %]
There will be a cumulative closed-book Mid exam covering topics discussed in class.
Date and time of the Mid will be decided and announced inside the class lecture.
Assignments [10%]
There will be 4 assignments, 2.5% for each assignment.
Quizzes [10%]
There will be 4 quizzes, 2.5% for each quiz.
Project [10%]
Presentation/Class Activities [05%]
DLD 9
Overview of Data Structures and
Algorithms
DLD 10
Data Structures
 These are ways of organizing and
storing data in a computer so
that it can be accessed and
modified efficiently.
 Common data structures include
arrays, linked lists, stacks,
queues, trees, graphs, and hash
tables.
DLD 11
Algorithms
 An algorithm is a step-by-step
procedure or set of rules for
solving a problem or performing
a task.
 Algorithms are essential for
working with data structures
effectively, and they include
tasks like searching, sorting,
inserting, and deleting data.
Relationship
DLD 12
Data structures and algorithms go hand-in-hand; a well-chosen data structure
can optimize an algorithm’s performance, and understanding the algorithm can
help determine the most appropriate data structure.

DS 2024 Lectucccccccccccccccccccccccccccccccre 1.pptx

  • 1.
    Data Structures andAlgorithms (CC-2042) Lecture 1 ENGR. DR BILAL ASHFAQ AHMED SCHOOL OF SYSTEMS AND TECHNOLOGY (SST) COMPUTER SCIENCE FACULTY
  • 2.
    2 About Instructor  Education Ph.D. (Computer Science) Universiti Teknologi Malaysia (UTM), Johor, Malaysia.  M.Sc. (Computer Engineering) University of Engineering & Technology (UET), Lahore, Pakistan.  B.E. (Computer System Engineering) Balochistan University of Engineering & Technology (UET), Khuzdar, Pakistan.  Professional Experience  Assistant Professor, Sept 2024 to Date ◦ Computer Science Faculty (UMT, Lahore, Pakistan)  Junior Visiting Researcher (Faculty of Computing, Universiti Teknologi Malaysia (UTM), Johor, Malaysia)  Assistant Professor (Department of Electrical Engineering, The University of Lahore (UOL), Lahore, Pakistan.)  BSS Engineer (Hyquip Sourcing & Services, Lahore, Pakistan.) DLD
  • 3.
    DLD 3 About Instructor Research Interests  Software Defined Networks (SDN)  Internet of Things (IoT)  Cloud Computing  Deep Learning  Machine Learning  Optimization Algorithm  Professional Information  Email: bilal.ahmed@umt.edu.pk  Office: SDT Building 402 (Cabin No: 8)  Office Hours: Monday to Thursday (10am-12Pm)
  • 4.
    DLD 4 Course Information This course provides an in-depth understanding of data structures and algorithms.  Students will learn how to design, implement, and analyze efficient algorithms using various data structures like arrays, linked lists, stacks, queues, trees, graphs, and hash tables.  The course emphasizes the importance of time and space complexity and aims to enhance problem-solving skills essential for advanced computing and programming tasks
  • 5.
    DLD 5 Course Objectives Understand the basic concepts of data structures and algorithms.  Implement various data structures and their associated algorithms.  Analyze the time and space complexity of algorithms.  Solve real-world computing problems using efficient algorithms and data structures.  Develop programming skills through hands-on coding exercises.
  • 6.
    DLD 6 Course Outline Introduction to Data Structures and Algorithms  Arrays and Linked Lists  Stacks and Queues  Recursion and Backtracking  Trees (Introduction and Basic Concepts)  Advanced Trees (AVL Trees, Heaps)  Hashing and Hash Tables  Graphs (Introduction and Basic Concepts)  Advanced Graph Algorithms  Sorting Algorithms  Searching Algorithms  Dynamic Programming and Greedy Algorithms  Complexity Theory and Algorithm Design Techniques  Revision and Advanced Topics (Optional)
  • 7.
    DLD 7 Recommended Books D. S. Malik, Data Structures Using C++: Course Technology, 2010.  M. A. Weiss, Data Structures & Algorithm Analysis in C++: 4th edition: Pearson Education, 2013.  R. Sedgewick, Algorithms in C++: Addison-Wesley, 1998.
  • 8.
    DLD 8 Course GradingPolicy Final-term Exams [40 %] There will be a cumulative closed-book final exam covering all topics. Date and time of the final will be announced at the end of the semester. Mid-term Exams [25 %] There will be a cumulative closed-book Mid exam covering topics discussed in class. Date and time of the Mid will be decided and announced inside the class lecture. Assignments [10%] There will be 4 assignments, 2.5% for each assignment. Quizzes [10%] There will be 4 quizzes, 2.5% for each quiz. Project [10%] Presentation/Class Activities [05%]
  • 9.
    DLD 9 Overview ofData Structures and Algorithms
  • 10.
    DLD 10 Data Structures These are ways of organizing and storing data in a computer so that it can be accessed and modified efficiently.  Common data structures include arrays, linked lists, stacks, queues, trees, graphs, and hash tables.
  • 11.
    DLD 11 Algorithms  Analgorithm is a step-by-step procedure or set of rules for solving a problem or performing a task.  Algorithms are essential for working with data structures effectively, and they include tasks like searching, sorting, inserting, and deleting data.
  • 12.
    Relationship DLD 12 Data structuresand algorithms go hand-in-hand; a well-chosen data structure can optimize an algorithm’s performance, and understanding the algorithm can help determine the most appropriate data structure.