Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Ph.D. Preliminary Examination Topics & Reading List Department of Computer Science Kent State University Discrete Structures Design and Analysis of Algorithms Functions, relations, sets Basic logic Proof techniques: induction and recursion Counting, discrete probability Graphs and trees, Boolean algebra Modeling computation: basic languages and grammars, regular expressions Suggested reading: Brassard & Bratley, Fundamentals of Algorithmics, Prentice Hall, 1996 Chapters 1-9, 12 Suggested reading: Rosen, Discrete Mathematics and its Applications, McGraw Hill, 2003 Chapters 1-11 Foundations of Programming Languages Data Structures and Fundamentals of Programming Abstract data types Fundamental data structures Vectors, lists, stacks, queues, binary trees, graphs Object oriented programming, inheritance Polymorphism, and dynamic variable binding Containers and iterators Hashing, priority queues and heaps Computer Operating Systems Computer Architecture and Organization Computer performance measure and analysis Instruction set design Computer arithmetic Processor design and control Processor pipelining Memory organization I/O subsystems Multiprocessors Suggested reading: Patterson & Hennessy, Computer Organization & Design, Morgan Kaufmann 1998 Chapters 2-9 V2.0 Describing syntax and semantics Names, bindings, type checking, and scope Lexical and syntactical analysis Data types, expressions, and statements Subprograms and parameter passing mechanisms Exception handling Object-oriented languages Functional and logic programming languages Suggested reading: Ghezzi & Jazayeri, Programming Language Concepts 3rd Edition, Wiley, 1997 Chapters – all Suggested reading: Ford & Topp, Data Structures with C++, Prentice Hall 2002 Chapters - all Basic algorithm analysis and asymptotic notation Algorithm design strategies: greedy, divide and conquer, heuristic, dynamic programming Graph and string matching algorithms Basic computability, Complexity classes P and NP Page 1 of 1 Overview of operating systems Processes, threads, CPU scheduling Process synchronization and Deadlock Memory Management, Virtual Memory File system and interfaces I/O systems, mass storage, file systems Protection, security, and distributed systems Linux and Windows XP Suggested reading: Silberschatz, Galvin, & Gagne, Operating Systems Concepts 6th Edition, Wiley, 2003 Chapters 1-20, 22 September 9, 2003