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”.


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

Required Courses

  • 3 Core Courses (9 credit hours)
  • Elective Courses (15 credit hours)
  • Capstone course – Project or Thesis (3 credit hours)
  • Internship know more
  • Nugget courses (up to 3 credit hours)
    • ITU Presents (1 credit hour)
    • ITU Nuggets (2 credit hours)

Elective Courses

A sufficient number of Elective Courses must be completed to bring the total of credit hours to 39.

A minimum 3.0 cumulative GPA (Grade Point Average) is required for granting of the Master’s degree.

Core Courses

SWE 600 Advanced Software Engineering
SWE 557
SWE 685 Software & Cloud Architecture

Capstone Courses

SWE 690 Capstone Project or SWE 695 Master’s Thesis


Click here to know more.

Transfer Credits

Up to 9 credit hours from a graduate program of a regionally accredited school with department chair’s approval.

ITU Presents

PRE 500 ITU Presents (1/3)

ITU Nugget Courses

1/3 credit to 2 credit courses

IDS 558 1 Blockchain and Peer to Peer Software
IDS 525 1 Digital Forensic in Finance & Accounting
IDS 526 1 HTML/CSS Programming & JavaScript
IDS 520 1 Introduction to AI & Machine Learning
IDS 568 1 Introduction to Cryptography
IDS 569 1 Introduction to Cybersecurity
IDS 567 1 Introduction to Digital Forensics
IDS 540 1 Introduction to Python Programming
IDS 570 1 Mobile and Wireless Ethical Hacking
IDS 515 1 Mobile Applications (iOS, Android, and IoT)
IDS 566 1 Python for Cybersecurity
IDS 527 1 Python for Excel and data analysis programming

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.

» 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 515 iPhone Application Development 
» 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 (1 to 3 credit hours) 
» CSC 689 Independent Study (1 to 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 108 (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 530 Cloud Computing Security 
» 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 (1 to 3 credit hours) 
» ICS 689 Independent Study (1 to 3 credit hours) 
» 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 (1 to 3 credit hours) 
» SWE 689 Independent Study (1 to 3 credit hours)

Admission Requirements

  • Click here for Admission Requirements.

*U.S. citizens or U.S. Permanent Residents who have earned an undergraduate or graduate degree from a regionally accredited institution in the U.S. are waived from this requirement.

*Who has 2+ years of work experience in the United States are waived from this requirement.



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.