Computer Architecture Examines the fundamental concepts of harware architecture. Includes processor and instruction-set design, memory hierarchy, bus structures, process management, memory management, and assembly language. Includes process management, memory management, file systems, concurrency, interprocess communication, graphical interfaces, and security. Refining point of views, determining professional impacts on co-workers, employers, clients, system users, and society. Written, verbal, electronic communications skills necessary to function in socially diverse workplace.
Foundational material includes search, knowledge representation, machine learning, and planning.
Formal Models in Computer Science Languages, finite automata, regular expressions, context-free grammars, and other automata such as pushdown store machines and Turing machines. Models of computation, computable and noncomputable functions, nondeterminism, space and time complexity, tractable and intractable functions. Graphical Display of Information Developing software user interfaces based upon human-computer interaction principles. Evaluate, design, and program user interface systems. Project includes development and evaluation of a user interface.