Computer Science Department
Master of Science in Software Engineering
ITU’s Computer Science Department focuses on the software engineering and computer science disciplines. Both programs in the department place primary emphasis on the technical aspects of building and modifying high quality software systems.
Courses are available in software design, software ethics, software architectures, web programming, computer graphics, and network programming.
This graduate engineering program offers an advanced curriculum designed to hone the next generation of engineering leaders, entrepreneurs, and researchers. ITU’s Bay Area campus is ideally located for students targeting a career in Silicon Valley at institutions like NASA AMES, Lawrence Livermore National Laboratory, or Lam Research.
58% of students are involved in internships | 54 countries represented in our student body. |
>50% Annual Earnings are double the national average in Silicon Valley. | 25% Less Fee: Compared to Average Tuition for a Master’s Degree in The US. “Finance and Fee”. |
Curriculum
Our 39 credit hour curriculum is completed in 16 months. The 39 credit hours are composed of core courses, electives, cross disciplinary electives, capstone or thesis, and an internship.
Program Structure
Degree Requirements | Credits |
Core Courses | 9 |
Required Capstone Courses | 3 |
Required ITU Presents | 1 |
Required Nugget Courses | 2 |
Internship | 1 |
Elective Courses | 23 |
Total | 39 |
CORE COURSES
- SWE 600 Advanced Software Engineering
- SWE 557 Artificial Intelligence and Machine Learning Programming
- SWE 685 Software & Cloud Architecture
CAPSTONE COURSES
- SWE 690 Capstone Project or
- SWE 695 Masterʼs Thesis
ITU PRESENTS
- PRE-500 ITU Presents (1/3) *Students must take three ITU Presents courses for a total of 1credit hour.
ITU NUGGET COURSES
- Nuggets courses are typically coded between IDS 500 and IDS 599. For more details, consult the Chair Department.
INTERNSHIP
- INT 593 Internship
Elective Courses
1. With approval from the Computer Science Department any course from:
• Department of Business Administration
• Department of Engineering Management
• Department of Electrical and Computer Engineering
2. Internship: Click here to know more
3. Transfer Credits: Up to 9 credit hours from a graduate program of a regionally accredited school with department chairʼs approval.
List of Electives for all 3 MS Programs
In each of the 3 MS programs (MSCS, MSICS, MSSE) Electives must be chosen from the list below so that the total number of credit hours is at least 39. All electives count in each program, except when explicitly stated otherwise.
- SWE 557 Artificial Intelligence and Machine Learning Programming
- ICS 602 Cryptography and Advanced Cybersecurity »
- ICS 503 Cybersecurity & Network Defense
- ICS 530 Ethical Hacking & Attack Countermeasures
- CSC 515 Mobile Applications (iOS Android and IoT)
- CSC 529 Mobile Games Cross-Platform Development C# with Unity
- SWE 645 Blockchain and Peer to Peer Software
- SWE 565 Advanced Database Systems
- CSC 526 HTML/CSS Programming & JavaScript
- ICS 635 Penetration Testing
- ICS 566 Python for Pentesters
- DGA 530 Games Design and Programming 3D/ VR/ XR
- ICS 637 AI for Cyber Defense: Harnessing Advanced Technologies for Cybersecurity
- CSC 681 Advanced Computer Algorithms & Data Structures
- CSC 521 Advanced OO Programming with Java and Python
- CSC 657 Deep Learning Programming
- SWE 685 Software & Cloud Architecture
- AMS 510 Linear Algebra
- AMS 512 Applied Mathematics Methods
- AMS 520 Optimization Techniques
- AMS 530 Numerical Analysis
- AMS 540 Discrete Mathematics
- AMS 552 Probability, Statistics, and Reliability for Engineers
- AMS 722 Advanced Applied Mathematics Methods
- CSC 501 Discrete Structures
- CSC 502 Principles of OS & Distributed
- CSC 505 The UNIX/Linux OS
- CSC 509 C Programming
- CSC 511 OO Programming with C++
- CSC 512 Data Structures
- CSC 518 OO Programming with Java
- CSC 519 Android Phone Application Development
- CSC 520 Python Programming
- CSC 522 R Language Programming
- CSC 525 HTML/CSS Programming
- CSC 527 Mobile Web Programming
- CSC 530 JavaScript Programming
- CSC 532 Client Programming with JS/ jQuery
- CSC 535 Server Programming With PHP
- CSC 545 Programming In GO
- CSC 550 Big Data
- CSC 555 Bio Informatics
- CSC 560 Introduction to Data Science
- CSC 575 Topics in Computer Science
- CSC 580 Computer Algorithms
- CSC 610 Ruby on Rails
- CSC 615 Angular JS
- CSC 620 Programming Language Theory
- CSC 625 Advanced HTML5
- CSC 630 Scala Programming
- CSC 631 Data Mining
- CSC 633 Machine Learning
- CSC 640 Artificial Intelligence
- CSC 650 Big Data Analytics (CPO-SAS/ SPSS)
- CSC 660 Advanced Data Science
- CSC 680 Advanced Computer Algorithms
- CSC 688 Special Topics (1to 3 credit hours)
- CSC 689 Independent Study (1to 3 credit hours)
- CSC 720 Formal Methods
- CSC 730 Cryptography & Cryptanalysis
- CSC 750 Coding Theory
- ECE 502 Advanced Python Applications
- ECE 503 AI Math fundamentals with Python application
- ECE 505 Machine Learning Fundamentals
- ECE 655 Deep Learning Fundamentals (Keras/TensorFlow 2.0, Pytorch)
- ECE 656 Reinforcement Learning (Pytorch)
- ECE 657 Natural Language Processing (Keras/TensorFlow 2.0, Pytorch)
- ECE 660 Parallel Implementation of ML Algorithms with GPUs (Python Mumba programming, Cuda programming with C++)
- ECE 661 AI application development in Engineering and Science (self-driving cars, advanced computer vision/face recognition, AI application in Cybersecurity) ECE 662 AI application development in business (Fintech/algorithmic trading)
- ECE 663 Machine Learning project deployment and production (dockers and Kubernetes, Edge AI, iPhone/Android deployment)
- ICS 520 Personal Computer Security
- ICS 525 Principles of Ethical Hacking
- ICS 535 Cloud and Virtualization Security (CPO)
- ICS 550 Security Policies
- ICS 570 Web Security Fundamentals
- ICS 620 Computer Malware
- ICS 630 Digital Forensics Technology
- ICS 670 Network & Data Security
- ICS 680 Theory of Cryptographic Systems
- ICS 688 Special Topics (1to 3 credit hours)
- ICS 689 Independent Study (1to 3 credit hours)
- IDS 573 Python for Pentesters Fundamentals
- SWE 500 Software Engineering
- SWE 518 User Interface Design & Implementation
- SWE 525 Version Control Tools/GIT
- SWE 540 SQA/Manual Testing
- SWE 542 SQA/manual/auto/perf Testing
- SWE 544 SQA/Software Testing Tools
- SWE 546 SQA/Performance Testing
- SWE 550 Software Project Management (CPO-ACP)
- SWE 560 Principles of Database Systems
- SWE 561 Cloud Computing
- SWE 562 Oracle Database Management/ Administration
- SWE 570 Internet of Things Architecture and Security
- SWE 600 Advanced Software Engineering
- SWE 602 Software Requirements Elicitation
- SWE 632 Software Risk Management
- SWE 633 Software Refactoring
- SWE 680 Software Architecture
- SWE 688 Special Topics (1to 3 credit hours)
- SWE 689 Independent Study (1to 3 credit hours)
Admission Requirements
- Click here for Admission Requirements.
Who
should apply
This graduate engineering program is geared towards competitive, mathematically-inclined students with a high level of technical expertise, and who are interested in pursuing a career in research, biomaterials, or in emerging technologies. Graduates will be prepared for leadership roles in labs, global engineering programs, and institutes like NASA AMES or Lam Research.
What You Will Learn
Coursework in software ethics, software architectures, and software quality assurance and testing is supplemented by labwork, capstone projects, and a wealth of career resources.
Learning Outcomes
- Be able to identify and apply current and emerging software engineering technologies required for the creation of reliable, predictable, well-engineered software systems.
- Be able to utilize multiple programming paradigms, including object-oriented, functional, logic, and emerging programming technologies.
- Show understanding of SE principles and practices as described in the SWEBOK, and other emerging software development processes.
- Develop sufficient soft skills to be able to interact with stakeholders from multiple disciplines on the systems engineering level.
- Have working skills in SE management including team building, leadership, project planning, selection of tools and processes appropriate to a project.