Attention: Your browser does not support Javascript or you have disabled JavaScript. JavaScript is used to open the link in a pop-up window.

Computer Science Courses

The following is a sampling of courses, which students in the journalism-computer science dual degree program may take at the School of Engineering.

 Frequently Asked Questions- Dual Degree

Introduction to Databases
The fundamentals of database design and application development using databases: entity-relationship modeling, logical design of relational databases, relational data definition and manipulation languages, SQL, XML, query processing, physical database tuning, transaction processing, security. Programming projects are required.

Advanced Database System
The course covers latest trends in both database research and industry: information retrieval, Web search, data mining, data warehousing, OLAP, decision support, multimedia databases, and XML and databases. Programming projects required.

3 - D Photography
Prerequisite: Experience required with at least one of the following topics: computer graphics, computer vision, pixel processing, robotics, or computer aided design, or the instructor’s permission. Programming proficiency in C, C++, or Java. (is what’s in the previous phrase a course prerequisite? Not sure where the course description starts.) 3-D photography—the process of automatically creating 3-D, texture-mapped models of objects in detail. Applications include robotics, medicine, graphics, virtual reality, entertainment, and digital movies, etc. Topics include 3-D data acquisition devices, 3-D modeling systems, and algorithms to acquire, create, augment, manipulate, render, animate, and physically build such models. The course is divided into three parts. The first third is devoted to lectures introducing the concept of 3-D photography and advanced modeling. The second part will be student presentations of related papers in the field. The third part will be a series of group projects centered around using 3-D photography to model objects (buildings, rooms, people, etc.).

Visual Databases
The analysis and retrieval of large collections of image and video data, with emphasis on visual semantics, human psychology, and user interfaces. Low-level processing: features and similarity measures; shot detection; key frame selection; machine learning methods for classification. Middle-level processing: organizational rules for videos, including unedited (home, educational), semi-edited (sports, talk shows), edited (news, drama); human memory limits; progressive refinement; visualization techniques; incorporation of audio and text. High-level processing: extraction of thematic structures; ontologies, semantic filters, and learning; personalization of summaries and interfaces; detection of pacing and emotions. Examples and demonstrations from commercial and research systems throughout. Substantial course project or term paper required.

User Interface Design
Introduction to the theory and practice of computer user interface design, emphasizing the software design of graphical user interfaces. Topics include basic interaction devices and techniques, human factors, interaction styles, dialogue design, and software infrastructure. Design and programming projects are required.

Artificial Intelligence
Provides a broad understanding of the basic techniques for building intelligent computer systems. Topics include statespace problem representations, problem reduction and and-or graphs, game playing and heuristic search, predicate calculus, and resolution theorem proving, AI systems and languages for knowledge representation, machine learning, and concept formation.  Other topics such as natural language processing may be included as time permits.

Natural Language Processing
Computational approaches to natural language generation and understanding. Recommended preparation: some previous or concurrent exposure to AI or machine learning. Topics include information extraction, summarization, machine translation, dialogue systems, and emotional speech. Particular attention is given to robust techniques that can handle understanding and generation for the large amounts of text on the Web or in other large corpora. Programming exercises in several of these areas.

Machine Learning
Topics from generative and discriminative machine learning, including least squares methods, support vector machines, kernel methods, neural networks, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models, and hidden Markov models. Algorithms implemented in Matlab.

Computing and the Humanities
Text databases. Language applications such as machine translation, information and retrieval, computational stylistics (determining authorship). Digital library applications, including issues in text acquisition, text markup, networking display, and user interfaces. Educational applications. Legal reasoning, history applications involving inferencing and databases.