You are on page 1of 7

vasaCSE 101 (Algorithms

)
Course Description: Design and analysis of efficient algorithms with emphasis
of non-numerical algorithms such as sorting, searching, pattern matching,
and graph and network algorithms. Measuring complexity of algorithms, time
and storage. NP-complete problems.

1st Equivalent:
-Course Number(s): COMP211
-Course Title(s):
Data and File Structures
-Year & Qtr/Sem taken: 4th semester
-Course Instructor: Evripides G.M. Petrakis
(http://www.intelligence.tuc.gr/~petrakis/)
-School where course(s) taken: Technical University of Crete (TUC http://www.tuc.gr/3324.html)

-Textbook(s) used:
1. "Δομές Δεδομένων", Π. Μποζάνης, Εκδόσεις Τζιόλα, 2006. (translation
of the title by me: “Data Structures”,p.Mpozanis, published by Giolas”
2. ``A Practical Introduction to Data Structures and Algorithm Analysis'',
Clifford Shaffer
3. "Data Structures, Algorithsm, Applications in Java", S. Sahni, McGrawHill.
4. Professor’s notes.
-Course Grade(s): 8/10
-Course Description(s):
Abstract Data Types, implementation in Java, algorithm complexity, performance
analysis of algorithms. Sorting in main and external memory, sorting algorithms:
bubble sort, exchange sort, insertion sort, selection sort, quick sort, merge sort, k–
way merge sort, radix sort. Stacks, queues, linked lists. Implementation of one–
dimensional arrays and dynamic memory allocation. Trees, tree traversal, binary
search trees, operations research in binary trees (search, insert, delete data).
Implementation using arrays and dynamic memory allocation. Applications, Huffman
codes. Graphs, graph traversal. Operations on graphs (search, insertion, deletion).
Implementation of graphs and applications (minimum spanning tree, shortest path).
Searching in main or external memory. Sequential search (binary search,
interpolation search, self–adjusting search), Indexed sequential search, ISAM.
Performance analysis of search. Hierarchical search trees, trees in main memory
(binary search trees, AVL trees, optimal trees, splay trees), analysis of performance.
Trees on the secondary memory (multi–way search trees, B–trees, B +-trees), VSAM.
Tries, digital search trees, text tries, Patricia tries, Ziv–Lembel coding. Searching in
text (KMP, BMH algorithms). Non–hierarchical search, hashing in the main memory,
collision resolution, open addressing, separate chaining. Complexity of search.
Hashing in external memory (dynamic hashing, extendible hashing, linear hashing).

gr/data/UndergraduateProgramGuideEN-2009-2010. Ackerman's function. Minimum spanning trees. Triangle inequality. master theorem. Non–determinism. Amortized complexity analysis. Cook's theorem.tuc. Knapsack problem.Performance analysis of search.html) -Textbook(s) used: 1. FFT. solution by induction.tuc. and Clifford Stein 2. topological sorting. the classes P and NP. The algorithm of Bellman–Ford. Shortest paths and distance metrics. Rivest. Professor’s notes -Course Grade(s): 7.gr/~minos/) -School where course(s) taken: Technical University of Crete (TUC http://www. Representing single–source and all–pairs shortest paths. Karatruba's algorithm. ( page 36 on the official study guide: http://www. Connected components. Data structures for graph representation. Order statistics. Fundamental recursive algorithms: multiplication.5/10 -Course Description(s): Models and concepts of complexity. Range search over ordered keys. data structures for multidimensional range search.pdf) . Dynamic programming. Prim's algorithm. Johnson's algorithm.gr/data/UndergraduateProgramGuideEN-2009-2010. The Union–Find problem. Recursion and recurrences.softnet. traversing DAGs. Introduction to discrete mathematics for algorithm analysis. Graph traversals. Leiserson. Introduction to graph theory.tuc. Floyd–Warshall algorithm. Transitive closure. Weighted graphs. Kruskal's algorithm. NP– completeness.ece. Dijkstra's algorithm.tuc. Charles E. memoization. Cormen. amortized costs in basic dynamic data structures. depth and breadth first search. Asymptotic cost. ( page 32 on the official study guide: http://www.ece.pdf) 2nd Equivalent: -Course Number(s): COMP401 -Course Title(s): Algorithms and Complexity -Year & Qtr/Sem taken: 7th semester -Course Instructor: Minos Garofalakis (http://www. ”Introduction to Algorithms” Thomas H.gr/3324. Ronald L.

Main applications: GIS. ”Computational Geometry” Mark de Berg. the halting problem. Management of large datasets. optimization problems.gr/~vsam/) -School where course(s) taken: Technical University of Crete (TUC http://www. Equivalent: -Course Number(s): COMP411 -Course Title(s): Theory of Computation -Year & Qtr/Sem taken: 8th semester .gr/3324. range search. abstract data types. Formal languages.html) -Textbook(s) used: 1. Storage and retrieval of data in main memory and hard disks.3rd Equivalent: -Course Number(s): COMP416 -Course Title(s): Multidimensional Data Management (later renamed as Computational Geometry) -Year & Qtr/Sem taken: 8th semester -Course Instructor: Vasilis Samoladas (http://www. data structures for point location and segment intersection. Finite automata and regular expression. elements ofcartography.tuc. Mark van Kreveld and Mark Overmars 2. Geometric data structures. Otfried Cheong. graphics. standard formats. CAD. High–dimensional data processing. distributed data structures. linear programming ( page 40 on the official study guide: http://www. convex hull algorithms. nearest neighbors. external data structures.pdf) CSE 105 (Theory of Computability) Course Description: An introduction to the mathematical theory of computability.ece. Undecidability. coordinate systems. Basic 2–d and 3–d geometry. Professor’s notes -Course Grade(s): 9/10 -Course Description(s): Raster and vector representations. similarity metrics. Introduction to spatio–temporal databases. Query processing algorithms. data models. Push-down automata and context-free languages. topological and temporal queries. languages for spatial. triangulation. special cases.tuc.tuc.gr/data/UndergraduateProgramGuideEN-2009-2010. metric spaces. Computational geometry. performance issues.softnet. Computable or recursive functions: turing machines.

Turing machines and extensions. Lexical analysis. Pushdown automata. recursive languages.-Course Instructor: Michail G. input/output. Equivalence of finite automata and regular expressions. non–deterministic Turing machines. Universal Turing machines.pdf) CSE 120 (Principles of Computer Operating Systems) Course Description: This course introduces the basic concepts used to structure computer operating systems. memory management.TEE. State minimization. Lewis and Christos H. context–free grammar. Greece. processes. context– free languages. 1981) -Course Grade(s): 8/10 -Course Description(s): Sets. descriptors. Technical Chapter of Greece --. Lagoudakis (http://www. pooling. bison. Papadimitriou Elements of the Theory of Computation. naming. Examples of notions introduced and discussed are batch processing. reductions. Finite state automata. Athens. Equivalence of pushdown automata and context–free grammars. JavaCC.ece. New Jersey.intelligence. Syntactic parsing. alphabets. 1992. Papadimitriou.tuc.gr/data/UndergraduateProgramGuideEN-2009-2010.gr/~lagoudakis/ ) -School where course(s) taken: Technical University of Crete (TUC http://www. ( page 39 on the official study guide: http://www. Harry R. buffers.gr/3324. Cook's theorem. caching. Decidability. Lewis and Christos H.html) -Textbook(s) used: 1. virtual memory. interactive command interpreters and processor scheduling. Computational complexity and complexity classes. regular languages. Church–Turing thesis. interrupt handling. Equivalent: -Course Number(s): COMP301 -Course Title(s): Operating Systems . computability. files.tuc. non– computability. unrestricted grammars. (Greek language edition of: Harry R. Rice's theorem. process synchronization. multiprogramming. The language hierarchy.tuc. STOICHEIA THEORIAS HYPOLOGISMOU . Englewood Cliffs. regular expressions. Non–determinism. languages. Prentice-Hall. recursive enumerable languages. interprocess communication. relations. Application to compiler construction and laboratory instruction of the tools flex.

Metadata management. Memory mapping. Device drivers. Virtual memory. Lagoudakis (http://www. Professor’s notes 1. performance model.gr/data/UndergraduateProgramGuideEN-2009-2010. Memory management: Memory hierarchies. locality. Processes: definition. Input/output and interprocess communication: Streams and stream I/O. Terminals. fragmentation. Semaphores. File and directory management. sockets.gr/3324. Backups.pdf) CSE 131 (Compiler Construction) Course Description: Introduction to the compilation of programming languages. threads. process state.html) -Textbook(s) used: “Modern Operating Systems” Andrew S. Multiprogramming: definitions. concepts and implementation. caching and prefetching. Network and block devices. Magnetic disks. symmetric and asymmetric ciphers.gr/~lagoudakis/ ) -School where course(s) taken: Technical University of Crete (TUC - .tuc. Segmentation. Monitors. I/O programming using polling. POSIX threads. practice of lexical and syntactic analysis.tuc. Review of computer organization: CPU. type checking. Equivalent (again): -Course Number(s): COMP411 -Course Title(s): Theory of Computation -Year & Qtr/Sem taken: 8th semester -Course Instructor: Michail G. event–driven programming. interpretation. replacement policies. I/O scheduling. threads. and compiler structure. driver architecture. reader–writer locks. -Course Grade(s):9/10 -Course Description(s): History and evolution of operating systems. producer/consumer and buffers. symbol tables. RAID. syntaxdirected translation. Security: authorization in Unix. optimization. Memory allocation.tuc. journalled file systems. Program loading. formatting. RSA ( page 33 on the official study guide: http://www.intelligence. resources.softnet. code generation. Process scheduling. ACLs.tuc. Tanenbaum 2.gr/~vsam/) -School where course(s) taken: Technical University of Crete (TUC http://www. Unix process control. MMU. Process table. paging. Pipes. Deadlocks. The i386 paging model. File system organization. interrupts. External memory: file systems. Cryptography.ece.-Year & Qtr/Sem taken: 5th semester -Course Instructor: Vasilis Samoladas (http://www. User authentication. PCBs. registers. copy–on–write. stack–based execution.

The language hierarchy. recursive enumerable languages. Athens. Syntactic parsing. 1981) 2. recursive languages. Prentice-Hall.pdf) CSE 141 (Introduction to Computer Architecture) Course Description: Introduction to computer architecture. Lewis and Christos H. unrestricted grammars. context– free languages.tuc. Church–Turing thesis.gr/3324. context–free grammar. Universal Turing machines. Memory systems. Finite state automata.tuc. Processor design. STOICHEIA THEORIAS HYPOLOGISMOU . Cook's theorem. Professor’s notes -Course Grade(s): 8/10 -Course Description(s): Sets. Greece. (Greek language edition of: Harry R.gr/data/UndergraduateProgramGuideEN-2009-2010.Control design.tuc. regular expressions. Englewood Cliffs. computability. New Jersey.http://www. Turing machines and extensions. reductions. Computer system design.html) -Textbook(s) used: . Technical Chapter of Greece --.gr/3324. PNEVMATIKATOS -School where course(s) taken: Technical University of Crete (TUC http://www. Pushdown automata. alphabets. 1st Equivalent: -Course Number(s): ACE201 -Course Title(s): Digital Computers -Year & Qtr/Sem taken: 3rd semester -Course Instructor: DIONISIOS N. Computational complexity and complexity classes. Decidability. Papadimitriou. Equivalence of pushdown automata and context–free grammars. Rice's theorem. non–deterministic Turing machines. Lexical analysis. ( page 39 on the official study guide: http://www. Papadimitriou Elements of the Theory of Computation. 1992. Equivalence of finite automata and regular expressions. Harry R. regular languages. Non–determinism.ece.html) -Textbook(s) used: 1. languages.TEE. non– computability. JavaCC. State minimization. bison. Lewis and Christos H. relations. Application to compiler construction and laboratory instruction of the tools flex.

pdf) Grammika sustimata Textbook -> Dorf . John L. memory and peripherals. ( page 31 on the official study guide: http://www.tuc. Processor programming model. division. Hennessy -Course Grade(s): 7/10 -Course Description(s): Survey of addressing modes.gr/3324.pdf) 2nd Equivalent: -Course Number(s): ACE312 -Course Title(s): Computer Organization -Year & Qtr/Sem taken: 6th semester -Course Instructor: DIONISIOS N.gr/data/UndergraduateProgramGuideEN-2009-2010. MIPS addressing modes and the corresponding formats in assembly language and object code. Interleaved memory. Data hazards.ece.-Course Grade(s): 9/10 -Course Description(s): Processor. Virtual memory ( page 35 on the official study guide: http://www. Performance of pipelined systems. interrupts and traps. assembly programming. Laboratory exercises using microprocessors or simulators. Exceptions and interrupts Pipelining. machine code. Caches. Design of the datapath and control of a processor that executes a subset of the full MIPS instruction set single–clock–cycle processor datapath. multiple–clock–cycle processor datapath. Patterson.ece. addressing modes.gr/data/UndergraduateProgramGuideEN-2009-2010.html) -Textbook(s) used: “Computer Organization and Design” David A. Binary number representation (integer and floating point). multiplication. arithmetic operations: addition/subtraction. Branch hazards.tuc. Computer memory systems. instruction sets.tuc. assembly language. Hierarchical memory systems. instructions. PNEVMATIKATOS -School where course(s) taken: Technical University of Crete (TUC http://www. stack.