Introduction To Computation

Lecture, discussion. Basic concepts of discrete mathematics useful to computer science: set theory, strings and formal languages, propositional and predicate calculus, relations and functions, basic number theory. Induction and recursion: interplay of inductive definition, inductive proof, and recursive algorithms. Graphs, trees, and search. Finite-state machines, regular languages, nondeterministic finite automata, Kleene's Theorem. Problem sets, 2-3 midterm exams, timed final.

Compiler Techniques

Basic problems in the translation of programming languages focusing on theory and common implementation techniques for compiling traditional (Pascal-like) programming languages to produce assembly or object code for typical machines. Involves a substantial laboratory project in which the student constructs a working compiler for a considerable subset of a realistic programming language within a provided skeleton.

Compiler Techniques

Basic problems in the translation of programming languages focusing on theory and common implementation techniques for compiling traditional (Pascal-like) programming languages to produce assembly or object code for typical machines. Involves a substantial laboratory project in which the student constructs a working compiler for a considerable subset of a realistic programming language within a provided skeleton.

Compiler Techniques

Basic problems in the translation of programming languages focusing on theory and common implementation techniques for compiling traditional (Pascal-like) programming languages to produce assembly or object code for typical machines. Involves a substantial laboratory project in which the student constructs a working compiler for a considerable subset of a realistic programming language within a provided skeleton.

Computer Systems Principles

Large-scale software systems like Google - deployed over a world-wide network of hundreds of thousands of computers - have become a part of our lives. These are systems success stories - they are reliable, available ("up" nearly all the time), handle an unbelievable amount of load from users around the world, yet provide virtually instantaneous results.

ST-A Hands-On Intro to UNIX

This course offers an introduction to working with Unix, and it is intended to help students work with tools commonly used in CS courses. The class is comprised of both discussion and hands-on exercises in the EdLab. Topics covered include working with the command line, installing and maintaining the OS and software packages, version control systems, compiling programs, and more. No previous experience with Unix is required. This course is for CS minors and majors only, but it does not count towards either degree.

Intro Computr & Ntwrk Security

This course provides an introduction to the principles and practice of system and network security. A focus on both fundamentals and practical information will be stressed. The three key topics of this course are cryptography, system security, and network security. Subtopics include ciphers, hashes, key exchange, security services (integrity, availability, confidentiality, etc.), security attacks, vulnerabilities, exploits, countermeasures.
Subscribe to