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
Required Courses
- 3 Core Courses (9 credit hours)
- Elective Courses (15 credit hours)
- Capstone course – Project or Thesis (3 credit hours)
- Internship (up to 9 credit hour)
- 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
Internship
INT 593 Internship (1 credit hour required)
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 for the Three MS Programs
In each of the 3 MS programs (MSCS, MSIC, 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 565 1 | Advanced Database Systems |
SWE 600 1 | Advanced Software Engineering |
SWE 557 1 | Artificial Intelligence and Machine Learning Programming |
SWE 645 1 | Blockchain and Peer to Peer Software |
SWE 690 1 | Capstone Project |
SWE 695 1 | Capstone Thesis |
DGA 501 1 | New Media Production |
SWE 685 1 | Software & Cloud Architecture |
AMS 510 | Linear Algebra (3) |
AMS 540 | Discrete Mathematics (3) |
AMS 750 | Abstract Algebra (3) |
AMS 760 | Practical Number Theory (3) |
CEN566 | Routing in Computer Networks (3) |
CSC505 | The UNIX/Linux OS (3) |
CSC507 | Unix/Linux System Administration (3) |
CSC509 | Windows Administration (3) |
CSC511 | OO Programming with C++ (3) |
CSC512 | Data Structures (3) |
CSC515 | I-Phone Application Development (3) |
CSC518 | OO Programming with Java (3) |
CSC519 | Android Application Development (3) |
CSC520 | Python Programming (3) |
CSC527 | Mobile Web Development (3) |
CSC570 | Web Security Fundamentals (3) |
CSC580 | Computer Algorithms (3) |
CSC633 | Machine Learning (3) |
CSC670 | Network and Data Security (3) |
CSC730 | Cryptography & Cryptanalysis (3) |
CSC750 | Coding Theory (3) |
CSC760 | Advanced Topics in Data Science (3) |
ICS550 | Security Policies (3) |
ICS520 | Personal Computer Security (3) |
ICS620 | Computer Malware (3) |
ICS630 | Digital Forensics Technology (3) |
ICS688 | Special Topics (3) |
SWE510 | Information Security Countermeasures (3) |
SWE520 | Principles of Ethical Hacking (3) |
SWE530 | Cloud Computing Security (3) |
SWE561 | Cloud Computing (3) |
Admission Requirements
- Bachelor’s degree with a minimum GPA of 2.75, or a Master’s degree with a minimum GPA of 3.0.
- Proof of English proficiency:* All applicants whose native language is not English and who did not receive either a bachelor’s or graduate degree from an English-speaking institution must take one of the following English proficiency tests:
- Test of English as a Foreign Language (TOEFL) examination: score of 72 or better for the internet-based test (iBT).
- International English Language Testing System (IELTS) examination: band score of 6.0 or better for the academic module.
- Duolingo English Test: score of 120 or better out of 160.
- Demonstrated commitment to contribute to and complete the program
*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.
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.