Curriculum

First day of classes for the Academic Year of 2025-2026: October 2025

Semester I: Fall

Kodu Adı Kredisi
IT 501
Introduction to Computer Programming

This is the first course in our series of programming courses which aims at introducing the students to fundamentals of computer programming in Java. Students will learn algorithmic thinking along with the basic concepts of coding such as data types, control structures, objects, arrays and functions.

3
IT 511
Fundamentals of Data Communications and TCP/IP Networking

The first part of the course gives the students an overview of data communication and networking. Basic concepts associated with data transmission and data communication techniques are presented to introduce students to communication. The second part of IT 511 provides students with an in-depth knowledge of the internal workings of different protocols in the TCP/IP protocol suite and how they are configured in the Linux and Windows NT environment. Topics include Networking Overview; Data Communication Techniques; Switching Concepts; OSI Reference Model and Layers; TCP/IP Protocol Suite and Services; TCP/IP Internetworking; IP Routing; TCP/IP Network Setup and Troubleshooting; Network Applications using SMTP, FTP, HTTP, DNS, DHCP and WINS.

3
IT 524
Programming with Java

This is a hands-on course on the Java programming language using the Java Development Kit (JDK), and the use of Java to reinforce the use of object-oriented approach to solve real problems. A general understanding of object- oriented programming concepts is also presented. IT 524 covers more advanced features of the Java Foundation Classes (JFC), distributed programming using the Remote Method Invocation (RMI), CORBA, and the Java Native Interface (JNI) for interfacing Java programs with applications written using some other language such as C, as well as Java security. Topics include Java and Object- Oriented Programming; Language Basics; Java Classes and Objects; Java Statements; Exceptions; Java Threads; Swing Programming; Java Packages; Java File I/O; Distributed Applications; Persistence and Remote Method Invocation; Database Connectivity (JDBC); Java Native Interface; Java Security Model.

3
IT 553
Database Design, Management and Administration

This course gives students hands-on practice and experience in database design and administration along with the fundamental concepts and techniques involved. Topics covered include the entity-relationship model, relational database theory, file structure, indexing and hashing, query processing, crash recovery, concurrency control/transaction processing security and integrity. Creation of tables, views, synonyms and indexes are examined in detail. The use of SQL is considered and highlighted with the help of examples, and used to build the underlining database of an application. Topics include Introduction to RDMS; Database Creation and Modification; SQL; Event Programming; Multiple Module Applications; Database Architecture; Hardware Configuration and Consideration; Database Layouts; Database Management; Managing Rollback Segments; Database Tuning; Database Security and Auditing; Backup and Recovery Procedures.

3

Semester II: Spring

Kodu Adı Kredisi
IT 526
Enterprise Java Frameworks and Design Patterns (elective)

This is a hands-on course which consists of two main parts. In the first part, commonly used enterprise Java frameworks are presented. These frameworks include Java Server Faces (JSF), SpringMVC and Struts as MVC Frameworks; and Java Persistence API and Hibernate as Object Relational Mapping (ORM) Frameworks. In the second part, the software design patterns which will be needed during software design and implementation process are introduced. These design patterns are presented as Creational Patterns, Structural Patterns and Behavioral Patterns.

3
IT 535
Mobile Programming (elective)

This course is designed to teach the stages of mobile application development from basic to advanced level. The course starts with Kotlin language coding and progresses with topics such as Mobile Application Design, Working Structure, Using Widgets, Dependency Injection, Application Architecture (MVVM) and Running Mobile Applications on Local and Internet-based Databases. The course content is designed with an emphasis on application development and with this course, students can design and develop mobile applications.

3
IT 541
Introduction to Machine Learning (elective)

Data Science is the study of extracting information from data. Addressing the needs of the industry requires skills in data processing and data analytics spanning a wide area of subjects ranging from Statistics to Machine Learning. This course will introduce some of the basic concepts, techniques and tools that are required to solve problems widely seen in data analytics. The course will start with a short review on inferential Statistics and exploratory data analysis. The focus in the study of these subjects will be on breadth, rather than depth, and practical examples will be used in applications of classification and clustering techniques to a wide variety of problems in predictive data analytics.

3
IT 543
Applied Programming in Python (elective)

This is an introductory hands-on course on Python programming language. We’ll cover the basic building blocks of the language including variables, data structures, loops, conditional structures, functions, and file manipulation. This course is designed to provide you with the ability to work with the data in a variety of tasks ranging from data pre-processing to data visualization and statistical data analysis by employing powerful libraries of Python such as Numpy, Scipy, Pandas, Matplotlib, and Seaborn. The exercises chosen to teach the concepts throughout the course are expected to provide a reference for an introduction to Data Science.

3
IT 563
Agile Project Management Methodology (elective)

Agile project management is as radically different from traditional project management as agile processes are different from traditional methodologies. Rather than plan, instruct and direct, the agile project manager facilitates, coaches and serves. In the Scrum Agile practice this person is called a ScrumMaster- Agile project manager. In this course participants learn what an agile software project is, how to manage project risks and issues, and how to guide the development team and an organization into Agile practice by fostering the adoption of new attitudes, collaborative processes and working to remove institutional barriers. Exercises, case studies, and examples are used to assist participants to develop the knowledge, skills, capabilities.

3
IT 542
Big Data Processing Using Hadoop (elective)

This course will provide the essential background to start to develop programs that will run on Hadoop Distributed File System (HDFS). The course will also show the students the limitations of traditional programming techniques and how Hadoop addresses these problems. After learning the basics of a Hadoop Cluster and Hadoop Ecosystem, students will learn to write programs using Apache Spark framework and run these programs on a Hadoop Cluster.

3
IT 537
Front-end Web Development (elective)

The aim of the course is giving students the skills and the perspective for coding interactive and responsive user interfaces for web and mobile apps. Students will be learning and exercising the three common coding languages HTML, CSS and Javascript to gain a working knowledge of how web sites and mobile interfaces are developed and optimized best to meet the needs of clients.

3
IT 538
Software Testing (elective)

Briefly, software testing is a process of executing a program with the goal of finding errors. Through testing, one inspects behavior of a program on a finite set of test cases (a set of inputs, execution preconditions, and expected outcomes developed for a particular objective). To assure the quality of the project, testing must be considered and executed on all phases of Software Development Life Cycle. This is a critical task for all parties involved in the software project team including analysts, developers and testers. In this course, we will introduce all types of tests in different phases of SDLC such as, unit testing, functional and integrational testing, performance tests, user acceptance tests and adhoc testing. We will examine white box and black box testing formats along with test management formats and reporting. Automation tests and conditions will also be examined within the scope if this course. All lectures will be supported with practical examples and workshops.

3
IT 513
Systems and Network Security (elective)

This course deals with security issues in a networked environment and the Internet, and with a guide to obtaining freely available security tools and references. It points out the inadequacies of existing products in keeping out intruders, and enables participants to better estimate their own security requirements, risks, and advantages. These include the World Wide Web security, proxy programs, integrity management tools, secure programming, and how to use secure TCP/IP services. It also covers security issues on passwords, filesystem, cryptography, backups, logging, firewalls, virtual private networks, proactive security strategies and policies, physical security and dealing with break-ins.

3
IT 566
IT Governance (elective)

This course is designed to give students a broad Managerial Perspective; a CIO's or IT Manager's approach to an IT Organization. With a Quality based approach to an IT Organization first; then its resources, its processes and all the requirements expected from such an organization afterwards; the students will learn how to look at the IT Organization as a whole and how to place any IT Process to fit into the Organizational Structure. This will give the expertise and diagnosis of how and where each process takes place within the organization. The course also aims at equipping the student with Global Best Practices, IT Governance, Control and Security Standards, various methodologies and professional real-life know-how and experience. Another dimension of this course is to ensure that technical people are well equipped with social & managerial skills, which will add them value in understanding the world of business. Students will learn how Business-IT Alignment is to be achieved, how technical people should deal with business issues & how IT investments in an organization need to be controlled. At the completion of the course; the students are expected to have a unique understanding of control oriented business & technology partnership.

3
IT 592
Term Project

All graduate students pursuing a non-thesis MSc. Program are required to complete a project. The project topic and contents are based on the interest and background of the student and are approved by the faculty member serving as the Project Supervisor. At the completion of the project,the student is required to submit a final report and present the project. The final report is to be approved by the Project Supervisor.

0
English