Learn More and ApplySoftware Development Concentration, Computer Science (BS)

Menu

Major Requirements

First Year

Course Title Quarter Hours
CSC 241INTRODUCTION TO COMPUTER SCIENCE I 14
CSC 242INTRODUCTION TO COMPUTER SCIENCE II 14
CSC 300DATA STRUCTURES I4
IT 223DATA ANALYSIS4
MAT 140DISCRETE MATHEMATICS I4
MAT 141DISCRETE MATHEMATICS II4
1

Students with one (1) semester programming experience may take CSC 243 and one (1) additional Major Elective in lieu of CSC 241 and CSC 242.

Second Year 

Course Title Quarter Hours
CSC 299SOPHOMORE LAB IN APPLIED COMPUTING4
CSC 301DATA STRUCTURES II4
CSC 321DESIGN AND ANALYSIS OF ALGORITHMS4
CSC 347CONCEPTS OF PROGRAMMING LANGUAGES4
CSC 373COMPUTER SYSTEMS I4
CSC 374COMPUTER SYSTEMS II4
WRD 204TECHNICAL WRITING4

Third Year

Course Title Quarter Hours
CSC 343INTRODUCTION TO OPERATING SYSTEMS4
or CSC 344 AUTOMATA THEORY AND FORMAL GRAMMARS
or CSC 348 INTRODUCTION TO COMPILER DESIGN
or CSC 363 THEORY AND PRACTICE OF SAFE SYSTEMS PROGRAMMING
or CSC 389 THEORY OF COMPUTATION
CSC 355DATABASE SYSTEMS4
CSC 376DISTRIBUTED SYSTEMS4
SE 333SOFTWARE TESTING4
or SE 359 AGILE SOFTWARE DEVELOPMENT
or SE 371 PRACTICES OF GLOBAL SOFTWARE DEVELOPMENT
SE 350OBJECT-ORIENTED SOFTWARE DEVELOPMENT4
One (1) Major Elective4

 Fourth Year

Course Title Quarter Hours
CSC 394SOFTWARE PROJECTS4
Sixteen (16) credit hours of Major Electives16

Major Electives

Major Electives courses must be selected from the Introductory and Advanced Major Field Course lists below.  At least 16 of the 20 Major Field Elective Credit Hours must be taken from the list of Advanced Major Field courses.

Introductory Major Field Courses

Course Title Quarter Hours
3D DESIGN & MODELING
WORKSHOP: JAVA FOR PROGRAMMERS
WORKSHOP: LINUX FOR PROGRAMMERS
CODES AND CIPHERS
PROBLEM SOLVING
C++ FOR PROGRAMMERS
RESEARCH COLLOQUIUM
FUNDAMENTALS OF GAME DESIGN
GAME DEVELOPMENT I
GAME DEVELOPMENT II
GEOGRAPHIC INFORMATION SYSTEMS I: DIGITAL MAPPING
EARTH OBSERVATION
INTRODUCTORY COMPUTING FOR THE WEB
WEB DEVELOPMENT I
WEB DEVELOPMENT II
APPLIED NETWORKS AND SECURITY
CALCULUS I
CALCULUS II
INTRODUCTION TO USER EXPERIENCE DESIGN

Advanced Major Field Courses

Artificial Intelligence

Course Title Quarter Hours
EXPERT SYSTEMS
SYMBOLIC PROGRAMMING
FOUNDATIONS OF ARTIFICIAL INTELLIGENCE

Computational Sciences

Course Title Quarter Hours
SCIENTIFIC COMPUTING

Computer Game Development

Course Title Quarter Hours
OPTIMIZED C++
REAL-TIME NETWORKING (FORMERLY GAM 390)
PHYSICS FOR GAME DEVELOPERS
GAME ENGINE PROGRAMMING I
ARTIFICIAL INTELLIGENCE FOR COMPUTER GAMES
STRATEGY GAMES PROGRAMMING
CONSOLE GAME DEVELOPMENT ENVIRONMENTS
SERIOUS GAMES
TOOL PROGRAMMING FOR GAME DEVELOPMENT
OBJECT-ORIENTED GAME DEVELOPMENT
GAME ENGINE PROGRAMMING II
GAME PROGRAMMING FOR MOBILE DEVICES
GAME DEVELOPMENT PROJECT I
GAME DEVELOPMENT PROJECT II

Computer Graphics

Course Title Quarter Hours
COMPUTER GRAPHICS DEVELOPMENT I
SURVEY OF COMPUTER GRAPHICS
COMPUTER GRAPHICS DEVELOPMENT II
ADVANCED RENDERING TECHNIQUES
COMPUTER GRAPHICS AUTOMATION
PRINCIPLES OF COMPUTER ANIMATION
REAL-TIME GRAPHICS TECHNIQUES

Computer Networks

Course Title Quarter Hours
PRINCIPLES OF DATA COMMUNICATIONS
INTRODUCTION TO LOCAL AREA NETWORKS
NETWORK INTERCONNECTION TECHNOLOGIES
WIRELESS COMMUNICATIONS NETWORKS
WAN SERVICES
NETWORK PROTOCOLS
FUNDAMENTALS OF NETWORK SECURITY
TELECOMMUNICATION AND NETWORK SECURITY PRACTICUM

Computer Systems

Course Title Quarter Hours
INTRODUCTION TO OPERATING SYSTEMS
INTRODUCTION TO COMPILER DESIGN
OPTIMIZED C++
OPTIMIZED C++ MULTITHREADING
VIRTUALIZATION AND CLOUD COMPUTING
INTRODUCTION TO PROGRAM ANALYSIS
MOBILE APPLICATION DEVELOPMENT FOR IOS
MOBILE APPLICATION DEVELOPMENT FOR ANDROID
MOBILE APPLICATION DEVELOPMENT FOR IOS II
MOBILE APPLICATION DEVELOPMENT FOR ANDROID II
NETWORKING FOR CYBER-PHYSICAL SYSTEMS
CYBER-PHYSICAL SYSTEM SECURITY
CYBER-PHYSICAL SYSTEM ENGINEERING I
ANALOG AND DIGITAL CIRCUITS
DIGITAL SIGNAL PROCESSING
EMBEDDED SYSTEMS I
EMBEDDED SYSTEMS II
MATHEMATICAL FOUNDATIONS OF AUTONOMOUS SYSTEMS
FOUNDATIONS OF CYBER-PHYSICAL COMPUTING
INTRODUCTION TO ROBOTICS
INTRODUCTION TO ANDROID DEVELOPMENT
NETWORK PROGRAMMING

Computer Vision

Course Title Quarter Hours
INTRODUCTION TO DIGITAL IMAGE PROCESSING
APPLIED IMAGE ANALYSIS

Data Analysis and Data Mining 

Course Title Quarter Hours
DATA ANALYSIS AND REGRESSION
ADVANCED DATA ANALYSIS
FOUNDATIONS OF DATA SCIENCE
INTRODUCTION TO BIG DATA PROCESSING
MACHINE LEARNING
DATA VISUALIZATION

Data Storage

Course Title Quarter Hours
DATABASE PROGRAMMING
ADVANCED DATABASE CONCEPTS

Human-Computer Interaction

Course Title Quarter Hours
WEB APPLICATIONS
USER INTERFACE DEVELOPMENT FOR INTERACTIVE SYSTEMS
USER EXPERIENCE RESEARCH AND EVALUATION

Security

Course Title Quarter Hours
COMPUTER FORENSIC AND INCIDENT RESPONSE (FORMERLY CNS 320)
FUNDAMENTALS OF INFORMATION ASSURANCE (FORMERLY CNS 340)
SECURITY TESTING AND ASSESSMENT (FORMERLY CNS 388)
CYBER DEFENSE EXERCISES AND ATTACK RESPONSES (FORMERLY CNS 389)
CRYPTOLOGY

Software Engineering

Course Title Quarter Hours
INTRODUCTION TO SOFTWARE ENGINEERING
SOFTWARE TESTING
CONTINUOUS DELIVERY AND DEVOPS
OBJECT-ORIENTED ENTERPRISE APPLICATION DEVELOPMENT
AGILE SOFTWARE DEVELOPMENT
PRACTICES OF GLOBAL SOFTWARE DEVELOPMENT

Theory of Computation

Course Title Quarter Hours
PROBLEM SOLVING FOR CONTESTS
AUTOMATA THEORY AND FORMAL GRAMMARS
THEORY OF COMPUTATION

Web Development

Course Title Quarter Hours
FRAMEWORKS FOR WEB APPLICATION DEVELOPMENT
WEB APPLICATIONS
ADVANCED INTERNET APPLICATION DEVELOPMENT
INTRODUCTION TO XML
CONTENT MANAGEMENT SYSTEMS

Open Electives

Open Elective Credit Hours are required to meet the minimum graduation requirements of 192 hours. Open Electives may be taken from any unit at DePaul.