BS in Computer Science with Human-Centered Computing Concentration

To earn a Bachelor of Science in Computer Science, with an HCC Concentration, students need to complete university, college, and department degree requirements. The Department of Computer Science degree requirements are outlined below. Students should consult the College of Engineering section for additional degree requirements and college academic policies.

Degree Requirements

Summary of Requirements
Required Outside the College of Engineering55
Required in the College of Engineering58
Technical Electives6
Required Mathematics Courses6
Free Electives3
Total Hours128

Required Outside the College of Engineering

Required Courses
ENGL 160Academic Writing I: Writing in Academic and Public Contexts3
ENGL 161Academic Writing II: Writing for Inquiry and Research3
General Education Core
Select one course from each of the following categories: a15
Exploring World Cultures
Understanding the Creative Arts
Understanding the Past
Understanding the Individual and Society
Understanding US Society
Humanities/Social Sciences/Art Electives
At least three of the selected courses must be from the following: (Please note: In order to enroll in some of these courses, students will have to go to the respective departments to get an override on prerequisites and/or enrollment restrictions.) b12
Introduction to Psychology
Introduction to Research in Psychology (prerequisite PSCH 100)
Introduction to New Media Arts
3D Space I: Modeling
Embedded Media: Physical Computing
Information Aesthetics I
Writing for the Electronic Media
Media, Information and Society
Visual Communication
MATH 180Calculus I c4
MATH 181Calculus II c4
MATH 210Calculus III c3
MATH 220Introduction to Differential Equations3
PHYS 141General Physics I (Mechanics) c4
PHYS 142General Physics II (Electricity and Magnetism) c4
Total Hours55
a

Students should consult the General Education section of the catalog for a list of approved courses in this category.

b

These electives must be selected from a list of approved courses provided by the CS department.

c

This course is approved for the Analyzing the Natural World General Education category.

Required in the College of Engineering 

Required Courses
ENGR 100Engineering Success Seminar a1
Select one of the following:3
Program Design I
Program Design I in the Context of Biological Problems
Program Design I in the Context of Law and Public Policy
CS 141Program Design II3
CS 151Mathematical Foundations of Computing3
CS 211Programming Practicum3
CS 251Data Structures4
CS 261Machine Organization4
CS 277Technical and Professional Communication in Computer Science3
CS 301Languages and Automata3
CS 341Programming Language Design and Implementation3
CS 342Software Design3
CS 361Systems Programming4
CS 362Computer Design4
CS 377Ethical Issues in Computing3
CS 401Computer Algorithms I3
CS 422User Interface Design and Programming3
CS 499Professional Development Seminar0
Select at least three of the following:9
Computer Vision I
Image Analysis and Computer Vision I
Artificial Intelligence I
Natural Language Processing
Visualization and Visual Analytics
Computer Graphics I
Video Game Design and Development
Total Hours58
a

ENGR 100 carries one equivalent semester hour, but awards no credit toward graduation.

Technical Electives

Courses
Select two of the following, only one of which may be outside of the CS rubric:6
Advanced Data Structure Practicum
Framework-based Software Development for Hand-held Devices
Undergraduate Design/Research
Algorithms in Practice
Economics and Computation
Artificial Intelligence I a
Introduction to Machine Learning
Computer Vision I a
Image Analysis and Computer Vision I
Introduction to Data Science
Natural Language Processing a
User Interface Design and Programming
Visualization and Visual Analytics a
Computer Graphics I a
Video Game Design and Development a
Creative Coding
Virtual, Augmented and Mixed Reality
Software Engineering I
Engineering Distributed Objects For Cloud Computing
Software Engineering II
Introduction to Networking
Introduction to Parallel and Distributed Processing
Principles of Concurrent Programming
Design and Implementation of Network Protocols
Operating Systems Design and Implementation
Systems Performance and Concurrent Computing
Computer Architecture
Network Security
Compiler Design
Object-Oriented Languages and Environments
Programming Language Design
Public Policy, Legal, and Ethical Issues in Computing, Privacy, and Security
Software Development for Mobile Platforms
Wearables and Nearables Technology Laboratory
Database Systems
Big Data Mining
Secure Web Application Development
Networked Operating Systems Programming
Building Secure Computer Systems
Introduction to Cryptography
Human Augmentics
Robotics: Algorithms and Control
Hardware Description Language Based Digital and Computer System Design
Networks and Distributed Computing Technology
Database Administration and Installation
Introduction to Symbolic Computation
Numerical Analysis
Computational Geometry
Linear and Non-Linear Programming
Models in Applied Mathematics
Total Hours6
a

May be used as either a selective course (above) or a technical elective but not both.

Required Mathematics Courses 

Required Courses
IE 342Probability and Statistics for Engineers a3
or STAT 381 Applied Statistical Methods I
MATH 310Applied Linear Algebra3
or MATH 320 Linear Algebra I
Total Hours6
a

Students who take IE 342 will not receive credit for either STAT 381 or STAT 401.

Free Electives

Electives
Select 3 hours of Free Electives3
Total Hours3

Sample Course Schedule

Plan of Study Grid
Freshman Year
First SemesterHours
MATH 180 Calculus I 4
CS 111
Program Design I
or Program Design I in the Context of Biological Problems
or Program Design I in the Context of Law and Public Policy
3
ENGL 160 Academic Writing I: Writing in Academic and Public Contexts 3
General Education Core course 3
General Education Core course 3
ENGR 100 Engineering Success Seminar a 1
 Hours16
Second Semester
MATH 181 Calculus II 4
ENGL 161 Academic Writing II: Writing for Inquiry and Research 3
CS 141 Program Design II 3
CS 151 Mathematical Foundations of Computing 3
General Education Core course 3
 Hours16
Sophomore Year
First Semester
MATH 210 Calculus III 3
PHYS 141 General Physics I (Mechanics) 4
CS 211 Programming Practicum 3
CS 251 Data Structures 4
General Education Core course 3
 Hours17
Second Semester
CS 261 Machine Organization 4
CS 301 Languages and Automata 3
MATH 220 Introduction to Differential Equations 3
PHYS 142 General Physics II (Electricity and Magnetism) 4
Humanities/Social Sciences/Art Elective 3
 Hours17
Junior Year
First Semester
CS 361 Systems Programming 4
CS 362 Computer Design 4
CS 342 Software Design 3
IE 342
Probability and Statistics for Engineers
or Applied Statistical Methods I
3
Humanities/Social Science/Art Elective b 3-4
 Hours17-18
Second Semester
CS 341 Programming Language Design and Implementation 3
CS 422 User Interface Design and Programming 3
CS 461 Operating Systems Design and Implementation 3
MATH 310
Applied Linear Algebra
or Linear Algebra I
3
Humanities/Social Science/Art Elective b 3-4
 Hours15-16
Senior Year
First Semester
CS 377 Ethical Issues in Computing 3
CS 401 Computer Algorithms I 3
CS 424 Visualization and Visual Analytics 3
CS 425 Computer Graphics I 3
General Education Core course 3
 Hours15
Second Semester
CS 426 Video Game Design and Development 3
CS 499 Professional Development Seminar 0
Technical Elective 3
Technical Elective 3
Humanities/Social Science/Art Elective b 3-4
Free Elective 3
 Hours15-16
 Total Hours128
a

ENGR 100 carries one equivalent hour but awards no credit towards graduation.

b

One of the following electives: PSCH 100, PSCH 242; ART 150, ART 454, ART 456; DES 452; COMM 430, COMM 316, COMM 460.