16.06.2015 Views

ALHOSN University Catalogue Global Knowledge with Local Vision ...

ALHOSN University Catalogue Global Knowledge with Local Vision ...

ALHOSN University Catalogue Global Knowledge with Local Vision ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Prerequisite: 4th Year standing in Faculty<br />

This course is an in-depth look at Object- oriented programming using C++ as the method for learning.<br />

The course reviews methods of programming, OOP and related concepts, C++ and OO <strong>with</strong>in C++, and<br />

relations between C++ and C.<br />

CSC 462 Object Oriented Design Patterns (3 = 3 + 0)<br />

Prerequisite: 4th Year standing in Faculty<br />

This course provides a number of distinct object oriented design patterns which help students formulate programs<br />

and concepts in programming. These design patterns fit into the software engineering process to create reliable,<br />

consistent and maintainable software.<br />

CSC 463 Introduction to OOP Using JAVA (3 = 2 + 1)<br />

Prerequisite: 4th Year standing in Faculty<br />

This course provides an introduction to Object-Oriented Programming and Software Development <strong>with</strong> Java.<br />

Subjects covered include: Numerical Data, Classes, Selection Statements, Repetition Statements, Exceptions and<br />

Assertions, Characters and Strings, Arrays, Sorting and Searching, File Input and Output, Inheritance and<br />

Polymorphism, GUI and Event-Driven Programming, Recursive Algorithms.<br />

CSC 475 Analysis of Algorithms (3 = 3 + 0)<br />

Prerequisite: 4th Year standing in Faculty<br />

General techniques for designing and analyzing algorithms; an in-depth examination of several problems and<br />

algorithms <strong>with</strong> respect to their time and space requirements; advanced data structures; sorting and searching;<br />

graph algorithms; backtracking; NP-complete problems; approximation algorithms.<br />

CSC 480 Numerical Methods (3 = 3 + 0)<br />

Prerequisite: 4th Year standing in Faculty<br />

The course will cover computer-oriented methods for solving numerical problems in science and engineering,<br />

including finding roots (including iterative solutions such as Newton’s method), interpolation and approximation<br />

(including curve fitting), numerical integration and differentiation (including Simpson’s rule), solving linear<br />

equations (including linear algebra), solving differential equations (including Euler’s method), and, possibly,<br />

optimization and simulation. It will also cover numerical analysis, i.e., the mathematics and theory behind the<br />

numerical methods (including floating point arithmetic, errors, stability, convergence, Taylor‘s series, explicit and<br />

implicit methods, and possibly, finite differences), plus a short discussion of history leading to the current interest<br />

in scientific computing.<br />

SWE 451 Multi-Media Applications (3 = 3 + 0)<br />

Prerequisite: 4th Year standing in Faculty<br />

Topics include: digital video representations; three-dimensional images; physical interfaces; computational tools<br />

and media that help people learn new things in new ways (tele-learning); knowledge representation; machine<br />

interpretation of sensory data.<br />

SWE 462 Distributed Systems (3 = 3 + 0)<br />

Prerequisite: CSC 370 and CSC 429 The exponential growth of Internet services demonstrates the importance and<br />

potential of large-scale distributed systems. Concepts covered include: Content delivery networks can potentially<br />

speed these services by cleverly caching Web pages; Peer-to-peer applications allow sharing of content;<br />

Multimedia services provide streaming delivery of audio and video. The new classes of distributed applications<br />

that are becoming ubiquitous seems endless: cluster computing, grid computing, game services, pervasive<br />

computing, etc. A fundamental challenge is to provide scalable, secure and robust services in the presence of besteffort<br />

communication and unreliable nodes.<br />

SWE 471 Software Evolution (3 = 3 + 0)<br />

Prerequisite: 4th Year standing in Faculty Topics include software engineering techniques for programming-inthe-large,<br />

programming-in-the-many, legacy software systems, software architecture, software evolution, software<br />

maintenance, reverse engineering, program understanding, software visualization, advanced issues in objectoriented<br />

programming, design patterns, antipatterns, and client-server computing. This course culminates in a team<br />

project.<br />

SWE 475 Software Systems Development (3 = 2 + 1)<br />

Prerequisite: 4th Year standing in Faculty<br />

Software engineering, or software systems development, is concerned <strong>with</strong> problems relating to the application of<br />

sound engineering principles to the production of quality software. This course involves a broad range of topics<br />

including: theory and examples, history of software development, current methods, human issues, and computer<br />

140

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!