Graduates of the Bachelor of Science in Computer Science program are skilled problem solvers, sought-after programmers and software developers, and computer systems experts. They use their skills to improve to improve or develop computer applications in a wide variety of areas.
Computer Science is a field that spans diverse areas including:
- Security and Cryptography
- Robotics
- Data Mining and Databases
- Distributed and Mobile Systems
- Intelligent Systems and gaming
- Computation Biology, and more
The BS in Computer Science at DePaul CTI provides essential training in the foundations of computing, data storage and information processing. With this foundation, graduates of the program can easily adapt to and create new information technologies, new computing paradigms, and new ideas for applying computer systems.
The Software Engineering concentration provides students with skills, knowledge, and experiences in state-of-the-art software engineering methodologies, techniques, and applications.
What students learn in the BS in Computer Science program:
- Programming and software development skills, the technical tools of the IT trade
- An understanding of modern Computer Systems, which you will use to develop computer applications
- Skills in application areas such as security and cryptography, robotics and computer vision, data mining and databases, distributed and mobile systems, intelligent systems and gaming, computational biology, etc.
The Liberal Studies program is the general education portion of the curriculum at DePaul. Click here to view the CTI courses that qualify for liberal studies credit.
The coursework for the B.S. in Computer Science consists of:
- The DePaul University Liberal Studies Program: (19 courses, not including the Senior Capstone),
- Major Field courses (24 courses or 96 credits, including the Senior Capstone), and
- Open Elective courses (5 courses or 20 credits).
Note
: CSC 208 The Computer and Social Responsibility must be taken to satisfy the PI liberal studies requirement.
The Major Field courses for the B.S. in Computer Science consist of 18 required (4 credit) courses and 6 Major Field elective courses (or 24 credits) chosen from the list below.
The 18 required courses provide training in the following fundamental areas:
A. mathematical tools
B. problem solving, algorithms, and structured programming
C. modeling and object-oriented programming
D. computer systems
They also include:
E. the senior capstone course
F. the communication requirement
A. Mathematical Tools (5 Courses)
MAT 140 Discrete Mathematics I
MAT 141 Discrete Mathematics II
IT 223 Data Analysis
AND any of the following calculus sequences (160/161 or 170/171 are highly recommended):
MAT 150 Calculus I
AND MAT 151 Calculus II
OR MAT 160 Calculus for Mathematics and Science Majors I
AND MAT 161 Calculus for Mathematics and Science Majors II
OR MAT 170 Calculus I with Scientific Applications
AND MAT 171 Calculus II with Scientific Applications
B. Problem Solving, algorithms, and structured programming (3 Courses): CSC 241 Introduction to Computer Science I
CSC 242 Introduction to Computer Science II
CSC 321 Design and Analysis of Algorithms
C. Modeling and Object-Oriented Programming (3 courses): CSC 224 Java for Programmers Self Placement Test Available!
CSC 383 Data Structures and Algorithms in Java
or CSC 393 Data Structures in C++
SE 350 Object-Oriented Software Development
D. Computer Systems(4 courses): CSC 309 Object-Oriented Programming in C++
CSC 373 Computer Systems I
CSC 374 Computer Systems II
CSC 347 Concepts of Programming Languages
E. Capstone:CSC 394 Software Projects
F. Communication:WRD 204 Technical Writing [formerly Eng 204]
CMN 220 Public Speaking
Major Field Elective Courses (6)
At least 4 of the 6 Major Field elective courses (i.e. 16 out of 24 credits) must be taken from the list of "ADVANCED MAJOR FIELD COURSES" (see below).
Introductory Major Field Courses
IT 130 The Internet and the Web
IT 209 Introduction to Programming Through Animation
IT 230 Building Internet Applications
IT 236 User Interface Development
IT 240 Introduction to Desktop Databases
IT 263 Applied Networks and Security
IM 210 Introduction to Human-Computer Interaction
GAM 244 Game Development I
GAM 245 Game Development II
CSC 233 Codes and Ciphers
CSC 235 Problem Solving
Advanced Major Field Courses
The courses are listed by area; there is NO requirement that the 4 courses must be from the same or from different areas.
Theory of Computation
CSC 333 Cryptology
CSC 344 Automata Theory and Formal Grammars
CSC 389 Theory of Computation
CSC 327 Problem Solving for Contests
Data Storage
CSC 352 Database Programming
CSC 353 Advanced Database Concepts
Computer Systems
CSC 343 Introduction to Operating Systems
CSC 348 Introduction to Compiler Design
SE 335 Foundations of Distributed Systems I
SE 336 Foundations of Distributed Systems II
TDC 368 Network Programming
Data Analysis and Mining
CSC 324 Data Analysis and Statistical Software II
CSC 328 Data Analysis for Experimenters
CSC 367 Introduction to Data Mining
CSC 334 Advanced Data Analysis
Computational Sciences
CSC 331 Scientific Computing
CSC 387 Operations Research I: Linear Programming
CSC 388 Operations Research II: Optimization Theory
Artificial Intelligence
CSC 357 Expert Systems
CSC 358 Symbolic Programming
CSC 380 Foundations of Artificial Intelligence
Computer Vision
CSC 381 Introduction to Digital Image Processing
CSC 382 Applied Image Analysis
CSC 384 Introduction to Computer Vision
Software Engineering
SE 325 Principles and Practices of Software Engineering
SE 330 Object Oriented Modeling
SE 331 Model-Driven Software Development
SE 333 Software Testing
CNS 340 Fundamentals of Information Assurance
SE 352 Object-Oriented Enterprise Application Development
SE 354 Enterprise Component Architecture
SE 356 Software Development for Mobile and Wireless Systems
SE 357 Concurrent System Development
SE 358 Software Development for Limited and Embedded Devices
SE 360 Structured Document Interchange and Processing
SE 368 Software Measurement and Project Estimation
SE 385 Software Architecture
Human-Computer Interaction
CSC 305 Graphical User Interface Implementation
IM 360 User-Centered Evaluation
Computer Graphics
GPH 325 Survey of Computer Graphics
GPH 329 Computer Graphics Development II
GPH 336 Smooth Surface Modeling for Graphics and Animation
GPH 339 Advanced Rendering Techniques
GPH 372 Principles of Computer Animation
GPH 375 Advanced Graphics Development
GPH 380 Visualization
GPH 389 Real-Time Graphics Techniques
GPH 395 Computer Graphics Senior Project
Computer Gaming
GAM 350 Physics for Game Developers
GAM 374 Action Games Programming
GAM 376 Artificial Intelligence for Computer Games
GAM 378 Strategy Games Programming
GAM 380 Console Game Development Environments
GAM 385 Introduction to Game Programming in Java
GAM 386 Game Development for Mobile Devices
GAM 390 Multiplayer Game Development
GAM 394 Game Development Project I
GAM 395 Game Development Project II
Web Development
CSC 308 Frameworks for Web Application Development
ECT 330 Advanced Internet Application Development
ECT 360 Introduction to Xml
ECT 365 Web Server Operations
Computer Networks
TDC 362 Principles of Data Communications
TDC 363 Introduction to Local Area Networks
TDC 365 Network Interconnection Technologies
TDC 371 Wireless Communications Networks
TDC 372 Digital Access Services
TDC 375 Network Protocols
TDC 379 Telecommunication and Network Security Practicum
The Bachelor of Science in Computer Science: Software Engineering Concentration Program
Program Requirements
The Software Engineering (SE) Concentration consists of the 18 courses required for the BS in Computer Science (see above) together with an additional 3 required SE courses and 3 SE concentration electives Courses.
The three requires SE courses are:
SE 325 Principles and Practices of Software Engineering
SE 330 Object Oriented Modeling
SE 352 Object-Oriented Enterprise Application Development
SE Concentration Elective courses (3 courses or 12 credits):
SE 331 Model-Driven Software Development
SE 333 Software Testing
CNS 340 Fundamentals of Information Assurance
SE 335 Foundations of Distributed Systems I
CSC 305 Graphical User Interface Implementation
SE 368 Software Measurement and Project Estimation
Students taking the SE Concentration have the option of taking the below senior capstone 2 course (or 8 credits) sequence in lieu of CSC 394 (which then reduces the Open Elective list to 4 courses):
SE 391 Software Engineering Studio I
SE 392 Software Engineering Studio II
Open Electives may be taken from any department or program. These are the only courses that may be taken under the pass/fail option. If you wish to pursue a minor, most minor field courses will be credited as open electives.
Note: Grades for all courses in the students major (i.e. non-Liberal Studies and non-Open Elective) must be 'C' or better. Grades of 'C-' may be accepted provided the overall grade point average in the major is 2.0 or better.