Courses
Semesters
Summer 2026
4 coursesProgramming Language II
This course introduces the basic concepts and techniques of object oriented programming. Actual computer programs are constructed by apply object oriented programming concepts and using an OOP language. Java is primarily chosen as the programming language in this course. The following topics are covered in this course - Java syntax with elementary programming, primitive data types, strings, operators, statements, arrays and methods, introduction to OOP, classes and objects, constructor, polymorphism, abstract classes and interfaces, file IO operations, handling exceptions in Java, GUI, multithreading, generics and related concepts.
Data Structures and Algorithm
This course is about an introduction to the theory and practice of data structuring techniques. Topics include internal data representation, abstract data types (ADT), stacks, queues, list structures, recursive data structures, trees, regraphs and networks. Concept of object orientation as a data abstraction technique will be introduced.
Junior Design Project
This is an intermediate level design course, after a student has gathered sufficient experiences on programming, algorithms, data structures up to 200 level core courses, core math, and core science courses. This "Junior Design Course" involves multidisciplinary teams of students who build and test IOT devices, websites, mobile apps (IOS and android) or engineering processes.
Secure Systems Design and Trusted Computing
This course dives into the fundamental concepts of cybersecurity including network security, cryptography, and security protocols, along with relevant concepts like Trusted Computing, Emerging Attacks, Attack Surfaces.