Introduction
Data structures and
Algorithms
Introduction
2
Reference Books
1. Data Structures & Problem Solving Using Java by Mark Allen Weiss,
Addison-Wesley, 4th Edition (October 7, 2009). ISBN-10: 0321541405 (or
Latest Edition)
2. Algorithms, Robert Sedgewick, Princeton University Publisher:
AddisonWesley Professional (latest Edition)
3. Data Structures: Abstraction and Design Using Java by Koffman and
Wolfgang, Wiley; 2nd Edition (January 26, 2010). ISBN-10: 0470128704128
4. Data Structures and Algorithms in C++ by Adam Drozdek, Course
Technology; 4th Edition (August 27, 2012). ISBN-10: 1133608426
5. Data Structures Using C++ by D. S. Malik, Course Technology; 2nd
Edition (July 31, 2009). ISBN-10: 0324782012
6. Data Structures and Other Objects Using C++ by Michael Main and Walter
Savitch, Prentice Hall; 4th Edition (March 6, 2010). ISBN-10: 0132129485
Introduction
3
Fundamentals of Programming
The history of computing / objects / types / console I/O
Operators / loops / methods / parameter passing
Selection statements / arrays / strings
Exceptions / debugging
File input / file output
Pointers / unsafe code / linked lists
Collections / multi-dimensional arrays / search algorithms
Sorting algorithms
Object-oriented design / polymorphism / interfaces / inheritance
Abstract class
Introduction
4
Fundamentals of Programming
These were the basics of programming
The ability to manipulate the computer to perform the required
tasks
You saw data storage techniques:
Arrays, and
Linked lists (collections were discussed)
You saw array accessing/manipulation techniques:
Searching, and
Sorting
Introduction
5
Algorithms and Data Structures
In this course, we will look at:
Algorithms for solving problems efficiently
Data structures for efficiently storing, accessing, and modifying
data
We will see that all data structures have trade-offs
There is no ultimate data structure...
The choice depends on our requirements
Introduction
6
Classroom Etiquette
All laptop computers, cell phones, tablet computers must be
closed during all classroom hours
If you wish to use a computer, you are welcome to step outside
Computers distract the most people behind and around the
user
You require a Verification of Illness form to use a computer in
class
© FIFA
Introduction
7
C++
You will be using the C++ programming language in this
course
Modified for C++ from [Link]
Introduction
8
C++
This course does not teach C++ programming
You will use C++ to demonstrate your knowledge in this course
One lecture covers:
Features of C++ and differences with C#
An on-line tutorial is available
It assumes minimal knowledge of programming
Introduction
9
9
How to get in touch with the
instructor
Email
Office hours
Weekly
preferred way to meet one-on-one
No need for prior appointment if meeting during the
office hour
In addition, the instructor will be available
outside of office hours to meet (appointments
preferred for this mode).
Introduction
10
10 Grading
AS per UoH
Introduction
11
11 Assignment Submission Policy
Assignment to be submitted in class on
the due date
No late submissions
Extensions may be permitted under
extraordinary circumstances
With the permission of HoD IT Dept.
Assignment will be given in class.
Introduction
12
12 Assignment Policy
All assignment must be done individually
Cheating:
Helping others, getting help, looking up website for
solutions, etc.
Students caught cheating will be awarded an F grade.
If something is not clear, on what constitutes and what
does not, please consult the instructor in advance.
Introduction
13
13 Exam Policy
1 Midterms and 1 Final exam.
Type
Closed book, closed notes, comprehensive
Open book, Open notes, comprehensive
Make-ups will be rare and only under extraordinary
circumstances
Introduction
14
14 Lecture basics
Classes will involve both Slides + Board (to roughly equal
degrees)
For latest/updated slides, download before each use
Use of laptops and smart phones not allowed in classroom.
Introduction
15
Improving Your Performance
To transfer information from your short-term memory to your
long-term memory, that information must be imposed on
your mind at least three times
You should always try the following:
Look at the slides before class
Attend lectures
You see the information again with commentary
Review the lecture during the evening
Rewrite and summarize the slides in your words