Skip Navigation
Fall 2011 Courses
- CIS 110 Information Processing
- Integration of technology and information systems for creation, storage, and dissemination of information used in decision-making. Labs cover spreadsheets, Telnet, FTP, website creation tools.
- CIS 111 Web Programming
- Principles and practices of programming for the web using a scripting language: basic concepts of problem analysis, program design, implementation, and testing; web application architectures.
- CIS 122 Intro to Programming and Problem Solving
- Computational problem solving, algorithm design, data structures, and programming using a multi-paradigm programming language. Introduces techniques for program design, testing, and debugging.
- CIS 210 Computer Science I
- Basic concepts and practices of computer science. Topics include algorithmic problem solving, levels of abstraction, object-oriented design and programming, software organization, analysis of algorithm and data structures. Sequence.
- CIS 212 Computer Science III
- Basic concepts and practices of computer science. Topics include algorithmic problem solving, levels of abstraction, object-oriented design and programming, software organization, analysis of algorithm and data structures. Sequence.
- CIS 313 Intermediate Data Structures
- Design and analysis of data structures as means of engineering efficient software; attention to data abstraction and encapsulation. Lists, trees, heaps, stacks, queues, dictionaries, priority queues.
- CIS 314 Computer Organization
- Introduction to computer organization and instruction-set architecture--digital logic design, binary arithmetic, design of central processing unit and memory, machine-level programming.
- CIS 323 Data Structures Lab
- Programming laboratory. Data structures and object-oriented implementation.
- CIS 407/507 Programming Competition
- Repeatable when the topic changes. Opportunity to study in greater depth specific topics arising out of other courses.
- CIS 413/513 Advanced Data Structures
- Complex structures, storage management, sorting and searching, hashing, storage of texts, and information compression.
- CIS 420/520 Automata Theory
- Provides a mathematical basis for computability and complexity. Models of computation, formal languages, Turing machines, solvability. Nondeterminism and complexity classes.
- CIS 422/522 Software Methodology
- Technical and nontechnical aspects of software development, including specification, planning, design, development, management and maintenance of software projects. Student teams complete projects.
- CIS 425 Principles of Programming Languages
- Syntax and semantics. Scope rules, environments, stores, denoted and expressed values, procedures, and parameters. Definitional interpreters. Types, overloading, parametric polymorphism, and inheritance. Varieties of abstraction.
- CIS 432/532 Intro to Computer Networks
- Principles of computer network design. Link technologies, packet switching, routing, inter-networking, reliability. Internet protocols. Programming assignments focus on protocol design.
- CIS 471/571 Introduction to Artificial Intelligence
- Basic themes, issues, and techniques of artificial intelligence, including agent architecture, knowledge representation and reasoning, problem solving and planning, game playing, and learning.
- CIS 607 Network Research Seminar
- We will review a collection of interesting papers related to various aspects of networking. In each session, one student presents one (or two) paper(s) and leads the discussion. The student who presents a paper should submit a good summary of the paper to our paper review archive, called paperQ. All other students should read the paper prior to class and actively contribute to in-class discussion.
- CIS 610 Advanced Topics in Systems Security
- Securing computer systems is one of the largest challenges that organizations face. While technology has changed, the fundamental problems of computer security have stayed remarkably similar. This course examines research in securing computer and operating systems, both past and present. Topics include protection systems, basic security principles, vulnerabilities, mandatory access controls, capability systems, virtual machines and security kernels, and distributed and web security.
- CIS 610 Teaching Effectiveness Seminar
- This course is intended:
- to be taken by all new CIS GTFs
- to provide an array of strategies to use during your GTF and teaching experience while you are at UO and after you leave
- to encourage you to become more aware of how you teach and how to teach more effectively
- to provide a forum in which you can share teaching problems and ideas with other GTFs
- CIS 630 Distributed Systems
- Principles of distributed computer systems: interprocess communication, distributed file systems, distributed timing and synchronization, distributed programming, transactions, process scheduling, distributed shared memory.
- CIT 381 Database Systems
- Introduction to database systems, emphasis on database design and access. Database concepts, data modeling, SQL, connecting database to web.