Skip Navigation

Spring 2011 Courses

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 115 Multimedia and Web Design
Introduces the principles and practice of web communication using digital media, including graphics, animation, video, and sound. Labs cover software used to create interactive multimedia documents.
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 199 Creating Droid Apps
This course focuses on building apps for Android devices (e.g., phones, tablets) using Google's App Inventor. Coursework will include several assignments intended to teach app development using App Inventor followed by a final project of the student's choosing. Android phones will be provided to registered students. The course will be both fun and practical for anyone wishing to learn mobile app development.
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 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 with
CIS 315 Intermediate Algorithms
Algorithm design, worst-case and average-behavior analysis, correctness, computational complexity.
CIS 330 C/C++ & Unix
Practical software design and programming activities in a C/C++ and Unix environment, with emphasis on the details of C/C++ and good programming style and practices.
CIS 407/507 Women in Tech
Seminar to improve understanding of the gender gap in computing and high technology. Readings and discussion.
CIS 410/510 Cryptography
Introduction to classical and contemporary cryptography and cryptanalysis. Topics include Vigenere ciphers, the Enigma machine, stream ciphers, block ciphers, DES and its successors, RSA, elliptic-curve and other public-key systems, digital signatures, secret sharing.
CIS 410/510 Online Social Networks
This class covers design issues, architectures and services and features of large Online Social Networks (OSN). We also examine how these services are used by different applications and present various networks protocols that are used in OSNs such as Web 2.0 and Ajax. Finally, we briefly present measurement technique and then extensively discuss techniques for analysis of OSNs.
CIS 410/510 Scheduling for Distributed Systems
Theory, models, algorithms, metrics, and performance evaluation methodology for scheduling in distributed systems, including multiprocessors, supercomputers, grids, clouds, p2p systems, and multicore machines. Goal is to provide you with the knowledge and skills to analyze and solve scheduling problems in emerging distributed architectures.
CIS 415 Operating Systems
Principles of operating system design. Process and memory management, concurrency, scheduling, input-output and file systems, security.
CIS 423/523 Software Methodologies II
Application of concepts and methodologies covered in
CIS 441/541 Intro Computer Graphics
Introduction to the hardware, geometrical transforms, interaction techniques, and shape representation schemes that are important in interactive computer graphics. Programming assignments using contemporary graphics hardware and software systems.
CIS 445/545 Modeling and Simulation
Theoretical foundations and practical problems for the modeling and computer simulation of discrete and continuous systems. Simulation languages, empirical validation, applications in computer science.
CIS 453/553 Data Mining
Databases, machine learning, artificial intelligence, statistics, and data visualization. Examines data warehouses, data preprocessing, association 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 Graph Algorithms
We will loosely follow a few chapters in a modern Graph Theory text by Diestel. My goal is to jump relatively early to Chapter 12: Minors, Trees and WQO, which deals with structure of graphs that allows for efficient algorithmic treatment ("efficient" in the parametrized complexity sense, but with potentially astronomical coefficients.) The algorithmic treatment will be illustrated by several journal papers, to be presented by student participants.
CIS 607 Social Networks and Health Informatics
Social Network Analysis and Health Informatics are two active research areas both related to several computer science disciplines. Several recent scientific studies have found that real-life social networks are quite relevant to health. This graduate research seminar focuses on: the survey of basic concepts of social network analysis and health informatics, the influence of social networks to health care, the strategies that operate on social networks to improve human health.
CIS 624 Structure of Programming Languages
Introduction to axiomatic, operational, and denotational semantics. Environments, stores, and continuations. Type theory, subtypes, polymorphism, and inheritance. Functional and logic programming.
CIT 281 Web Applications Development I
Fundamentals of web application development using open-source software tools and technologies (Unix, Git), client-side frameworks, server-side programming (Node.js, PHP), model-view-controller pattern, data storage and APIs, cloud hosting.
CIT 383 Networking Fundamentals
Fundamentals of data communication and networks. Network management and security.