Overview CS113, Fall 2000 Gene Itkis
The Promise Heavy Fast-paced Challenging Rewarding
Areas covered “ Software ” Data Structures Algorithms analysis
Software Objects, classes Flow of control, iteration Function, recursion Templates Inheritance Polymorphism Encapsulation Re-use
Borderline: Software - Data Structures Arrays, Vectors Containers Pointers Memory management
Data Structures Link-lists Singly & Doubly linked Stacks Queues Trees Graphs
Algorithms Binary Search Sorting Graph exploration (spanning trees) DFS BFS Other graph algorithms (sketched only) Shortest Path Minimum Spanning Tree
Algorithms with Data Structures Heap & Heap-sort Searching Search trees Hash tables Analysis Performance big-O notation
Homeworks Root, Power (1,2) Application: babyRSA (3) BigNum Arithmetics (4,5), Sorting (5), Queues (6) NetworkNode (5) Communication with babyRSA Network 2-node (6); many nodes, 1round (7), many nodes, many rounds (8)
Problem Sets 1, 2 Roots, Powers, babyRSA Binary search Classes, functions, iteration Simple I/O
Problem set 3 mPower Repetitive squaring method Efficiency issues babyRSA Constructing building blocks and then building with the building blocks Levels of abstraction
Problem Set 4 BigNum Objects, methods, constructors Using vectors Scope/function concepts: friend functions babyRSA More objects, methods Baby version of some real world applications
Problem Set 5 More bignums Sorting Arithmetics – how math concepts … are used in real world applications how they may affect programs NetworkNode Using babyRSA String processing File IO
Problem Set 6 Bignum Queue Link-lists Queues Destructors 2-Node network Creating more complexity from our building blocks
Problem Set 7 Search Data Structure Search trees Templates Destructors Network Graph Using search ds many times Neighbors Dictionary
Problem Set 8 Network Hashing Inheritance “ True ” complex SW system Time simulation