Application & Game Development Major

Requirements – 5 courses / 15 credits (30 ECTS)
Enhances students’ Java programming skills and prepares them to successfully obtain professional certifications. The course teaches advanced object-oriented concepts such as inheritance and polymorphism and applies them to the Java programming language so that students can gain a better understanding of interfaces & abstract classes. Other important aspects covered are concurrency (threads), generics, inner classes and exceptions. Prerequisite(s): IT150, IT200. Credits: 3
Provides students with the fundamentals of programming for computer graphics and analyzes the hardware and software principles of interactive raster graphics. Topics include interactive graphics, animation, color, 2-D and 3-D modelling and transformations, viewing transformations, projections, rendering techniques, graphical software packages and graphics systems. Students will use a standard computer graphics API to reinforce concepts and study fundamental computer graphics algorithms. Prerequisite(s): IT150, MATH150, MATH300. Credits: 3
The course introduces the basic methods and platforms used in game design. It focuses on analyzing the mechanics of gameplay and how these mechanics affect the player experience. It also introduces the student to the main game platforms available in the market. The students gain hands-on experience through practical assignments such as creating paper and digital prototypes and improving the overall gaming experience by iterative design processes. Special attention is paid to the Unity platform. Students practice on Unity by setting up a 2D project, creating Prefabs, working with movement buttons, action buttons and the physics of collisions, using a sprite sheet, and integrating the Dolby Audio API. Prerequisite(s): IT150 Credits: 3
Investigates the design and analysis of distributed systems from wide-area communication networks through local-area clusters of workstations, to shared-memory multiprocessors. Focus is on object-oriented client/server applications. Topics include building and consuming a web service, configuring and customizing a web service, calling web methods asynchronously, building a remoting client and server, creating and serializing remotable types, performing remoting operations asynchronously, and managing the lifetime of remote objects. Prerequisite(s): IT150, IT200, IT320, IT240, IT370 Credits: 3
Introduces web application development, covering configuration of web and application servers, and development of client and server-side scripts. It explores web application security, web authentication, session state management, and web services. Emphasizes contemporary and adaptable technologies, such as RESTful approaches and modern development frameworks, for creating dynamic web applications. The course covers techniques for web application development, custom user controls, and binding user interface controls to data sources. Additionally, it introduces advanced programming concepts and modern tools for developing graphical user interfaces. Prerequisite(s): IT150, IT200, IT320 Credits: 3
Electives - 2 courses / 6 credits (12 ECTS)
Covers all aspects of computer networks, from the physical transmission of signals, through the protocols required for the safe transmission of data, to the end-to-end services built on the communications backbone. Wired and wireless networks are covered, and special emphasis is placed on the transportation of real-time audio and video media. There is also a strong focus on support and services for wired and wireless communication systems. Prerequisite(s): IT150, IT160 Credits: 3
Introduces students to compilers and language translation. Focus is given to aspects of lexical, syntactic and semantic analysis including language theory and implementation. Topics covered in the course include finite state machines, regular expressions, and top-down and bottom-up parsing techniques, code generation and optimization, subroutine calls, symbol table management, LL and LR parser generators. On successful completion of the course, students will be able to identify the various phases of the compiling process, including algorithms and data structures for their implementation in recursive high-level imperative programming languages. Prerequisite(s): IT150, IT220 Credits: 3
Effective software engineers need to understand the activities performed during each stage of the development cycle including analysis of requirements, design, implementation, testing, documentation and transition. Hands-on experience is gained throughout the duration of the course on selected aspects of the software engineering lifecycle. Lectures will take place mostly in a computer laboratory. Prerequisite(s): IT150, IT200, IT280 Credits: 3
Information Systems (IS) are playing a vital and expanding role in business and society in general. Organizations and businesses of all sizes have sizable network and computer infrastructure and require highly skilled administrators who have the experience and knowledge to manage these seemingly complicated and complex operations. This course will cover the basics of supporting an Information System in a hands-on lab environment. More specifically, the course will provide the students with a comprehensive skill set geared towards installing, configuring, and updating hardware and software, as well as fixing any issue related to a company’s equipment that may come up on a daily basis. Prerequisite(s): IT150. Credits: 3
Introduces students to the fundamental concepts and notations of application design. Effective design and implementation of applications can have profound, positive implications on productivity, efficiency, accuracy, and satisfaction in a huge range of environments. Upon completion of the course students should be familiar with the application design process as well as with basic design principles. Moreover, the student will be able to gather and analyze the customer business functions and design an application solution to meet the prioritized business requirements. Prerequisite(s): IT150. Credits: 3
Information Systems (IS) are playing a vital and expanding role in business and society in general. Organizations and businesses of all sizes have sizable network and computer infrastructure and require highly skilled administrators who have the experience and knowledge to manage these seemingly complicated and complex operations. This course will expand the knowledge of using and administrating an Information System by focusing on Information Systems Maintenance methods in a hands-on lab environment. More specifically, the course will provide the students with a comprehensive skill set geared towards modifying an information system to continually satisfy organizational and user requirements. Prerequisite(s): IT198, IT240. Credits: 3
Introduces students through hands on experience to the fundamental concepts of programming with the emphasis being laid on the whole of the software development process. More specifically, it introduces the fundamental concepts and principles of designing, implementing and testing software applications. Upon completion of the course students should be able to explain fundamental concepts of software development processes, including software development lifecycle, phases, iterations, and practices. Moreover, they will be able to apply basic techniques of requirements elicitation and modeling, including basic data and user interface modeling. Finally, programming best practices such as coding style standards and code documentation are thoroughly examined. Prerequisite(s): IT199, IT240. Credits: 3
Information Systems (IS) are playing a vital and expanding role in business and society in general. Organizations and businesses of all sizes have sizable network and computer infrastructure and require highly skilled administrators who have the experience and knowledge to manage these seemingly complicated and complex operations. This course will cover the basics of using and administrating an Information System in a hands-on lab environment. More specifically, the course will provide the students with a comprehensive skill set geared towards administration of computer networks and systems, including installation, configuration, maintenance, monitoring and troubleshooting. Prerequisite(s): IT198, IT240, IT298. Credits: 3
In IT, a platform is the basic hardware and software on which software applications or services can be hosted. This course covers common technical aspects of platform implementation as well as processes to effectively manage the implementation. Moreover, it allows students to learn tactical skills and responsibilities required based on their role as well as develop a holistic view of all team roles and responsibilities. Finally, hands on experience in the lab and group projects will provide students with the necessary knowledge and skills they need in order to apply platform implementation best practices. Prerequisite(s): IT199, IT240, IT299. Credits: 3

Log in