Department of Computer Science

Contact Information: 
Campus Location: 1120 Science and Engineering Offices (SEO) Student Services Office: 905 SEO 
(312) 996–3422, Student Services Office: (312) 996–3463 
 
www.cs.uic.edu

Administration: 
Professor and Head of the Department, Robert Sloan
Director of Undergraduate Studies, Joe Hummel, jhummel2@uic.edu

Computer science is a relatively young but extremely rich and diverse discipline. At one end of the spectrum, computer science may be viewed as the formal study of what can be computed and what resources are required for computation. At the other end of the spectrum, computer science may be seen as the application of human resources, software, and, of course, computers to solve computational problems relating to society’s and individuals’ needs.

A well-trained computer scientist requires knowledge of both ends of this spectrum—and several points in between. The Computer Science program in the Department of Computer Science is intended to provide that broad background. Along with a strong theoretical component, the Computer Science program places special emphasis on the development of applied skills in design, implementation, and validation of computer systems. In our experience, industry and graduate programs alike value—above all—people who can solve real problems, and who come prepared to use the tools of their trade.

All students acquire a common background in the fundamental areas of computer science: computer systems, organization and architecture, algorithms and data structures, principles of software design, elements of the theory of computation, and operating systems. In addition, students obtain specialized backgrounds through the selection of five technical elective courses in computer science. Required and elective courses in the sciences and mathematics, along with additional courses in writing, humanities, social sciences, and the arts give students the opportunity to expand their horizons and to prepare for multidisciplinary careers.

There are very few areas in modern society untouched by computer science. Computer science is present in everything from healthcare, telecommunications, and entertainment, to transportation, education, and defense. The result of this diversity is that a computer scientist must be capable of working with people outside his or her field. In support of this, the Computer Science program provides its students with a well-rounded education requiring significant course work outside the Department of Computer Science, placing a strong emphasis on writing and communication skills.

Given the breadth and diversity of the computer science discipline, the Department of Computer Science also offers a Computer Systems Concentration within the BS in Computer Science program. The Computer Systems Concentration represents a sub-specialty that provides more emphasis on understanding and designing computer hardware. The student continues to learn the fundamental areas of computer science, including programming, data structures, discrete math, algorithms, formal languages, architecture, and operating systems. Unlike traditional computer science, however, the student also studies low-level circuit analysis and high-level system design, and has the option to take additional hardware-oriented courses. The result is a unique blend of computer science and computer engineering.

The Department of Computer Science also offers a Human-Centered Computing Concentration (HCC) within the BS in Computer Science program. The HCC concentration emphasizes the knowledge and skills needed to begin a professional practice in areas such as: user-interface design and development for desktop or mobile devices; computer graphics and animation for video games, movie special effects; and scientific, engineering, and medical visualization. The concentration continues to cover in depth the fundamental areas of computer science including programming, data structures, discrete mathematics, algorithms, formal languages, computer architecture, and operating systems. In addition the concentration focuses on key topics of human-centered computing practice such as user-interface design, computer graphics, visual media, and natural language processing.

The Department of Computer Science also offers a Software Engineering Concentration within the BS in Computer Science program. The Software Engineering Concentration emphasizes the knowledge and skills needed to begin a professional practice in software engineering. The concentration continues to cover in depth the fundamental areas of computer science, including programming, data structures, discrete mathematics, algorithms, formal languages, computer architecture, and operating systems. In addition, the concentration focuses on key topics of software engineering practice such as software cost estimation, large-scale software development, and risk management.

Accreditation

The computer science program at UIC is accredited by the Computing Accreditation Commission of ABET