Skip Navigation Text:

CIS Winter 2008 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 Computers and Computation
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 170 Science of Computing
An introduction to the essential concepts and ideas of computing: hardware, algorithms, programming and networks.
CIS 199 Making and Breaking Codes
Throughout recorded history, cryptographers (code makers) have been engaged in a fierce rivalry with cryptanalysts (code breakers), and the cracking of supposedly "unbreakable" codes has even changed the course of wars. Today, the demand for secure communication in the information age has further intensified the challenge to cryptographers: for electronic commerce, the means of encoding is usually public, yet only the authorized receiver knows the secret for decoding. This seminar will trace the history and structure of codes from ancient times through the present. Students will design codes of both classical and modern forms, challenging their classmates. They will also construct "public keys" for receiving messages that they alone can decode.
CIS 199 Scripting Languages for Computational Science
This course will be a practical introduction to programming in a scripting language. Students will learn the basics of programming in Ruby, techniques for writing scripts for Unix and other operating systems, and how to have their scripts interact with a wide variety of software used in computational science, including web servers and local and remote databases. No prior programming experience is necessary.
CIS 211 Computer Science II
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 Introduction to 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 323 Data Structures Lab
Programming laboratory. Data structures and object-oriented implementation.
CIS 330 C/C++ & Unix
This course will be a "software tools" course, covering Unix, C++, and possibly Perl. The main goals are to
  • help students learn to use programming languages and environments they will use in other CIS classes (and possibly later, after they graduate)
  • give students a chance to work on several small programming projects, to help them gain more software development experience
  • have fun learning new languages and software tools.

This course can be used as one of the upper division electives for CIS majors.

CIS 409 Supervised Consulting
CIS 410/510 Network Operation and Management
CIS 410/510 User Interface Programming
This course is intended as an introduction to user interface programming. Emphasis will be placed on the theory of systems and programming for user interfaces: User Interface Management Systems (UIMS), programming development environments including X-Window, event-driven programming, geometry managers, and distributed cross-platform implementation of interactive systems. Programming will be in Tcl/Tk (with either C or Python), JavaSwing and possibly Visual Basic.
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. Pre- or coreq: CIS 315.
CIS 427/527 Intro to Logic
Basic notions of logic: propositional logic, first-order logic, Hilbert systems, sequent calculus, natural deduction. Soundness, completeness, undecidability. Current research in logic frameworks, automated deduction, Curry-Howard isomorphism.
CIS 433/533 Computer & Network Security
Computer networks, such as the Internet, enables different entities to exchange vast quantities of information and share remote resources. Unfortunately, networking also poses a danger by exposing individuals to various forms of network-based attacks, raising ever-growing concerns as computer networks become more common and more relied upon. This course will give an overview of network security issues, look at several most representative security problems, and discuss commonly practiced solutions.
CIS 453/553 Data Mining
Databases, machine learning, artificial intelligence, statistics, and data visualization. Examines data warehouses, data preprocessing, associations and classification rule mining, and cluster analysis.
CIS 490/590 Computer Ethics
Addresses ethical issues and social impacts of computing. Topics include crime, hacking, intellectual property, privacy, software reliability, employment, and worldwide networks.
CIS 607 Internationalization of CS
This seminar is organized around a recent NSF grant received by CIS faculty entitled CPATH i18n: Internationalization of Computer Science Education - the Pacific Rim Community Model. We will explore challenges and opportunities involved in the transformation of cs education to better prepare our graduates to work and to lead in a global context. Guest speakers, readings, projects.
CIS 607 Multimodel Multitasking
This research seminar will advance an understanding of (a) human performance when engaged in multitasking behavior that requires interaction with complex multimodal auditory and visual displays and (b) how to simulate and ultimately predict human performance in such situations by means of computational cognitive modeling, ultimately to inform the design of multimodal watchstations. Computational cognitive models are computer programs that behave in some way like humans. Scientific and technical objectives include developing of these computational cognitive models, and advancing a framework for future development of these models which simulate parallel visual-perceptual and auditory-perceptual processing in multitasking situations.

Two fundamental questions that will be explored in this seminar include: (a) How can people use 3D auditory displays to direct their visual attention to appropriate areas of a visual display when people are trying to do multiple tasks in parallel, such as actively engaging

CIS 607 Online Social Networks
With half a billion active users, online social networks (OSN) have attained critical mass and triggered intense research interest in collaborative systems and the analysis of the structure and properties of online communities. In this seminar, we discuss the challenges and important questions posed by emerging online social applications Of particular interest are problems related to network and system architecture design that can best support emerging and future social and collaborative systems, and how those social networks can shape the design of existing distributed systems and real networks.
CIS 607 Semantic Information Integration
Semantic information integration is an active research area in several disciplines, such as databases, ontologies and the semantic web. People in those fields are conducting a large body of research to deal with semantic heterogeneity in structured data. The general goal of semantic integration is to facilitate interoperability between different information sources. This graduate research seminar will cover the following topics: schema and ontology mapping/matching, schema and ontology integration, data integration, semantic query processing. We will also discuss the application of semantic integration for some specific areas, such as personal information and biomedical databases.
CIS 621 Algorithms and Complexity
Design and analysis of algorithms, strategies for efficient algorithms, introduction to complexity theory including NP-completeness. CIS 420/520 strongly recommended.
CIS 632 Computer Networks
Advanced issues in computer networks, focusing on research to extend the services offered by the Internet.
CIT 382 Info Arch and Intranets
Organization of information on the web and applications of Internet technology. Emphasis on planning, implementation, and issues that apply to building and maintaining business Intranets.