Courses Offered

IT524 – 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.

Official Course Page

IT525 – Advanced Java Programming

This course is designed to teach programmers the advanced aspects of Java programming language and how it is applied to a wide range of applications. The course covers advanced Java Programming topics including streams and file I/O, multithreading, recursion, sorting and searching, network programming and networked applications, socket classes, introduction to RMI (Remote Method Invocation), working with Java databases, Java Database Connectivity (JDBC), introduction to JavaBeans, creating JavaBeans and handling events using JavaBeans, Servlets, JSP, Java development practices and Java security.

Official Course Page

CS310 – Mobile Programming

The objective of this course is to provide students with the tools and skills needed to build mobile pplications, using the Android platform. The course starts with an introduction to Java programming environment and moves forward with creating stateful web services using Java and developing mobile applications consuming web services via the Android platform. Upon successful completion of this course, students are expected to design, code and implement applications on mobile and hand-held devices with limited resources; understand web services; manage messaging with HTTP; and deploy/consume web services residing on Java Application Servers.

Official Course Page

IT535 – Mobile Programming

This introductory course will provide an insight to the leading edge world of applications running on mobile devices via wireless networks. The course will start by giving an overview about the evolution of the wireless technologies along with some of the core concepts employed in mobile communications. Hybrid technologies on coding mobile applications will be discussed. The main platform covered throughout the course will be Android.

Official Course Page

ENS491/492 – Graduation Project

All students in FENS faculty are required to complete a graduation project as a part of ENS 491 and ENS 492 course requirements. In these multidisciplinary projects, students will have the opportunity to apply and develop their knowledge in the area of their specialization in a team environment. ENS 491 will involve general lectures on engineering project development such as: product planning, project management, establishing product specifications, product metrics, cost analysis, concept generation, concept selection and testing, reliability, optimization, computer aided design and manufacturing, prototyping etc. Students will implement their designs in ENS 492. Students will be required to submit progress reports, and seperate final reports for ENS 491 and ENS 492

Official Course Page

IT530 – Advanced Web Programming

This course provides a formal introduction to Web application development and Web-enabled technologies. It also provides a grand tour of the technologies used on the client and server side to support user web interfaces This course, in short, provides the student with the skills needed to build professional web applications with interfaces to different types of databases. Programming, which is needed to interface the web pages with CGI and interface with database through ODBC, is usually done with interpreted languages like Perl, PHP, Python, etc. as compiled languages are already taught in other classes. This course also introduces the students to other methods of interfacing with a database, including Active Server Pages (ASP) and Java Server Pages. It finally summarizes the the competing technologies supporting distributed computing, COM/DCOM from Microsoft and Open Standard CORBA. Comparison between different technologies is essential to choosing the right solution for the business environment that is built.

IT528 – Developing .NET Applications with C#

C# programming language – .NET Framework with object-oriented analysis and design. Developing ASP.NET applications and XML Web Services using C# programming language.