Skip Navigation

Fall 208 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 170 Science of Computing
An introduction to the essential concepts and ideas of computing: hardware, algorithms, programming and networks.
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 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 399 Head First Ruby
This course will look at both OOP and more exotic programming concepts in the language Ruby. Students are expected to have passed CIS 212 or show equivalent experience.
CIS 407/507 Programming Competition
Repeatable when the topic changes. Opportunity to study in greater depth specific topics arising out of other courses.
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 443/543 User Interfaces
Introduction to user interface software engineering. Emphasis on theory of interface design, understanding the behavior of the user, and implementing programs on advanced systems.
CIS 451/551 Database Processing
Fundamental concepts of DBMS. Data modeling, relational models and normal forms. File organization and index structures. SQL, embedded SQL, and concurrency control.
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 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.
CIS 640 Writing in Computer Research
Students learn to provide and accept constructive criticism of writing samples in a workshop format.
CIT 381 Database Systems
Introduction to database systems, emphasis on database design and access. Database concepts, data modeling, SQL, connecting database to web.