3. Conclusion
! Where have we been?
! What have we learned?
! Why we have taken this path?
! Where to go from here?
4. we be en?
h ere h ave
W ham El
-Ghareeb
– Dr.Hait
Final L ecture
5. Fact 1
! 2nd year Faculty of Computers Student:
! Loves Programming, Hopefully!
! Doesn’t know about Programming!
! Hates Programming!
6. Data Structures and Algorithms
! Programming Language Independent
! C# and Java are the most widely used
Programming Languages
! They are most likely similar
! We have chosen C# as you might be familiar
! We have introduced Python for Novice
7. Fact 2
! 2nd Year Faculty of Computers Student:
! Doesn’t Read / Research
! Doesn’t Write Code
! Doesn’t Co-operate with each other
8. Data Structures and Algorithms
! Delivery of Reports (one or two)
! Delivery of Projects, as Bonus
! Providing Lecture Notes online
! Study Groups
! Student of the Week
9. Fact 3
! 2nd Year Faculty of Computers Student:
! Not used to ‘expressive’ ‘open ended’ questions
11. learn ed?
t have we
Wha -Ghareeb
ham El
– Dr.Hait
Final L ecture
12. L ectu res?
How Many hareeb
-G
ham El
– Dr.Hait
Final L ecture
13. 2 Lect ures
1
-Ghareeb
ham El
– Dr.Hait
Final L ecture
14. L e c ture 1
-Ghareeb
ham El
– Dr.Hait
Final L ecture
15. Topics
! Welcome to Data Structures and Algorithms
! Importance of the Subject
! Recipe to be a Programmer:
! 10K + Hours
! Peter Norvig
16. L e c ture 2
-Ghareeb
ham El
– Dr.Hait
Final L ecture
17. Programming Languages are
Not the Same
! Different Programming Language Categories
! 19 Different Topics for Comparison
! C#, Java, C++ They are the same!
! Quick intro to C#
18. L e c ture 3
-Ghareeb
ham El
– Dr.Hait
Final L ecture
19. Collections and Generics
! Slideshare mentioned your access, Thank You J
! Collections and Collection Types
! Collection Properties and Methods
! Generics
! Evaluating Data Structures Performance
! Chart
20. L e c ture 4
-Ghareeb
ham El
– Dr.Hait
Final L ecture
21. String Theory
! Strings are Collections
! Strings are immutable
! String and string are equivalent
! Strings are Reference Types
! Strings are Nullable
! Strings have built-in Methods and Properties
22. L e c ture 5
-Ghareeb
ham El
– Dr.Hait
Final L ecture
23. Arrays and Arraylists
! Array is Class
! Arrays are indexed collections of data
! Vector, Multidimensional, Parameter, Jagged
! Arraylist is an Array that grows Dynamically
! Arraylist Properties and Methods
! Memory Management of Arrays
24. L e c ture 6
-Ghareeb
ham El
– Dr.Hait
Final L ecture
25. Stacks and Queues
! LIFO vs. FIFO
! Programming Languages vs. Operating Systems
! Push, Pop, Peek, Count
! Enqueue, Dequeue, Count
! Operations, Properties, Remarks
26. L e c ture 7
-Ghareeb
ham El
– Dr.Hait
Final L ecture
27. Basic Comparison Sort
! Sorting
! Order Theory
! Weak, Standard Order
! Sorting Algorithm
! Bubble, Selection, Insertion Sort
28. L e c ture 8
-Ghareeb
ham El
– Dr.Hait
Final L ecture
29. Algorithm Analysis
Searching
! Algorithms, Execution Time, Complexity Analysis
! Growth Rates
! Big-O Notation
! Classes of Algorithm
! Code Evaluation
! Searching: Linear, and Binary Search
30. L e c ture 9
-Ghareeb
ham El
– Dr.Hait
Final L ecture
31. Data Structures in Python
! Crash Course ! Lists ! Set
! Numbers ! As Stacks ! Dictionaries
! As Queues
! Strings
! Functional ! Looping
! Lists Programming
! Control Flows
! Map
! Functions ! Reduce
! Coding Style ! Filter
32. cture 10
Le ham El
-Ghareeb
– Dr.Hait
Final L ecture
33. Recursion
Binary Search Tree
! Recursion: Recursive Function and Solutions
! Trees: Tree Structure
! Binary Trees
! Tree Traversals: Pre-Order, In-Order, Post-Order,
Breadth First
34. cture 11
Le ham El
-Ghareeb
– Dr.Hait
Final L ecture
36. cture 12
Le ham El
-Ghareeb
– Dr.Hait
Final L ecture
37. Conclusion
! Where have we been?
! What have we learned?
! Why we have taken this path?
! Where to go from here?
38. this Path?
ve ta ken
Why we ha hareeb
-G
ham El
– Dr.Hait
Final L ecture
39. Path
! Focusing on Basics of C# Programming
Language
! Stepping Slowly and Smoothly in Data
Structures and Algorithms
! Mixing Object Oriented Programming Language
and Interpreted Functional Programming
Language
40. Path (Cont.)
! Highlighting e-Learning and Social Networks in
Communication:
! Online Course Page
! Twitter and G+
! Reports Delivery
41. mh ere?
to G O fro
W here -Ghareeb
ham El
– Dr.Hait
Final L ecture
42. Professional Programmer
! Practice, Practice, Practice
! Keep yourself Updated
! Follow online Resources
! Become Master of One Programming Language
! Become Familiar with Different Programming
Languages
43. Algorithmic Thinking
! Focus on Programming Language independent
Techniques
! Participate in Online and Faculty Communities
! Become Partner with worldwide consortiums
! Participate in Competitions
! Read online Magazines