Skip Navigation

Winter 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 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 with
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 with
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 Seminar on CIS Careers and Internships
This seminar focuses on careers and internships for CIS students. It will cover resume preparation and polishing, interviewing skills, and will have talks by local companies on work environments, career choices, internship opportunities, and how best to prepare for a career in Computer Science. We will also read articles about the current job market and CS related job prospects.
CIS 410/510 Machine Learning
Machine learning is the field which concerns how to construct computer programs that automatically improve with experience. It has successful applications, such as to data mining, information retrieval, robotics and biomedical informatics.

The intent of this course is to present a broad introduction to machine learning and its established algorithms, including discussions of each of the major approaches currently being investigated. The topics include neural networks, decision trees, Bayesian learning, support vector machines, inductive logic programming, reinforcement learning and learning theory. One secondary goal is to discuss the connections between machine learning and other fields, such as AI, statistics, databases and Web.

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 427/527 Introduction 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
Security for various aspects of computers and networks. Elementary cryptography, program security, trusted operating systems, network security, privacy, and legal and ethical issues.
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 454/554 Bioinformatics
CIS 607 Seminar in Computer Cartography
Seminar on computing in cartography, with an emphasis on current research areas and opportunities.
CIS 607 Cloud Computing for Bioinformatics
Seminar on Cloud Computing for Bioinformatics.
CIS 607 General Purpose GPU (GPGPU) Computing
CIS 607 Multimodal 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 one visual display while monitoring visual activity on a second display? How can 3D audio help a person to "listen" to that visual display even when not looking at it. (b) How can this multimodal dual task human behavior be modeling by a computer program that ultimately could be used to predict aspects of human performance in such situations, to assist user interface designers in the specification of systems that maximize human-perceptual throughput and effective multitasking behavior?

CIS 607 Network Dynamics
The seminar will review recent research on real-world networks, their structure and dynamics.
CIS 621 Algorithms and Complexity
Design and analysis of algorithms, strategies for efficient algorithms, introduction to complexity theory including NP-completeness.
CIS 632 Computer Networks
Advanced issues in computer networks, focusing on research to extend the services offered by the Internet.
CIT 382 Web Applications Development II
Server- and client-side technologies and their interaction for database-driven web applications: application frameworks, single-page applications, cloud platforms, and open-source software stacks—MEAN (MongoDB, ExpressJS, AngularJS, Node.js) versus LAMP (Linux, Apache, MySQL, PHP).