SI 502 Networked Computing: Storage, Communication, and Processing

In order to appreciate the opportunities, and make wise choices about the use of technology, information professionals need to understand the architectures of modern information systems. In alternative system architectures, storage, communication, and processing substitute for the complement each other in different ways. This course introduces students, at several different levels of abstraction, to sets of functional components and alternative ways of combining those components to form systems. It also introduces a set of desirable system properties and a core set of techniques that are useful in building systems that have those properties.

SI 539 Design of Complex Websites

Any complex website has two principle areas of design. There is the design of the appearance and the design of the information content. The appearance of a website is very important. The graphics and mechanisms that make a site appear to have a consistent look and feel can be relatively simple, or they can be very complex, but they have one thing in common: an overall design. It is not enough to simply put web pages together, we must ask why each page exists and what the user has in mind when visiting that page. These are the design questions that we will examine in this class.

SI 543 Programming I JAVA

An introduction to programming using Java, with special emphasis on graphical user-interface design and implementation

SI 544 Statistics and Data Analysis

The purpose of this class will be to provide students with a basic understanding of statistics, that is the ability to describe various populations and draw inferences about them. It should also sharpen individual intuition about how to read data, interpret data, and judge others’ claims about data. It should be useful to a wide variety of students both as preparation for more advanced courses and as a means to professional advancement. Specifically, skills to be developed are: 1. Abilities to characterize population data intuitively for oneself and others. 2. Ability to draw conclusions and novel inferences from population data. 3. Ability to check assumptions of others’ claims and debug their putative “facts”. 4. Ability to look for correlations while controlling for confounding effects. 5. Overall, the chief objective is to demystify the process of inquiry into what isn’t known.

SI 572 Database Application Design

This course is an introduction to database management systems (DBMS). It covers both theoretical and practical aspects of DBMS, including database design, use, and implementation using the database language SQL. Some topics in physical database design are also discussed. An essential part of the course is a programming project through which students design and develop a practical database system for library access, electronic commerce, information retrieval, or a similar application. Students use the open-source MySQL database and the PHP scripting language for Web development throughout the course.

SI 601 Data Manipulation

This course aims to help students get started with their own data harvesting, processing, and aggregation. Data analysis is crucial to evaluating and designing solutions and applications, as well as understanding user’s information needs and use. In many cases the data we need to access is distributed online among many webpages, stored in a database, or available in a large text file. Often these data (e.g. web server logs) are too large to obtain and/or process manually. Instead, we need an automated way of gathering the data, parsing it, and summarizing it, before we can do more advanced analysis. In this course students will learn to use Perl and its modules to accomplish these tasks in a ‘quick and easy’ yet useful and repeatable way. The companion half semester course on Exploratory Data Analysis will then teach the students how to further glean insights from the data through analysis and visualization.