DEPARTMENT OF INFORMATION TECHNOLOGY COURSE DESCRIPTION

MATH 202 Calculus III (3,0;3 cr.)

Techniques of integration; improper integrals.  Infinite series; Taylor and Maclaurin series. Parameterized curves and polar coordinates; Graphing and integration in polar coordinates; Analytic geometry in space; Vector-valued functions; space curves, curvature. 

(Prerequisite: IEP L6 and above)

MATH 222 Discrete Math (3,0;3 cr.)

Topics include: Sets, sequences and functions, elementary logic, relations, induction and recursion, counting, introduction to graphs and trees, recursion, trees, algorithms, digraphs, and finite-state machines.

(Prerequisite: IEP L6 and above)

MATH 203 Calculus IV (3,0;3 cr.)

Analytical geometry in three dimensions.  Algebra and operations on vectors, Limits, continuity, derivatives of functions in several variables and Multiple Integrals. Vector calculus; functions of several variables; partial derivatives, gradients; extreme values and differentials of multivariate functions; multi integrals; line and surface integrals. 

(Prerequisite: MATH202)

MATH 332 Linear Algebra (3,0;3 cr.)

Topics include systems of linear equations, matrices, determinants, vector spaces, linear transformations, eigenvectors and eigen values, inner-product spaces and orthogonality.

(Prerequisite: MATH202)

MATH 352 Probability and Statistics (3,0;3 cr.)

This course covers the basic principles of the theory of probability and statistics and their applications. topics include probability, conditional probability, random variables, expected values, specific discrete and continuous distributions, binomial, Poisson, geometric, Pascal, hyper geometric, uniform, exponential and normal processes.

(Prerequisite: MATH202)

MATH 342 Ordinary Differential Equations (3,0;3 cr.)

Introduces first order differential equations, linear differential equations, homogenous and non-homogenous equations with constant coefficients, power series solutions, Bessel functions, Legendre polynomials, Laplace transforms, and initial value problems.

(Prerequisite: MATH202)

MATH 442 Numerical Methods (3,0;3 cr.)

Approximations and round-off errors, truncation errors and Taylor series, roots of equations (bracketing methods, open methods, and roots of polynomials), Gauss Elimination and LU decomposition, and curve fitting (least-squares regression, interpolation, numerical differentiation and integration).

(Prerequisite: MATH202)

IT211 Introduction to Information Technology (3,0;3 cr.)

This course gives a general background on networking, communications, and business applications. It starts with an introduction to the basic principles and history of the web. It covers, data transmission and storage technology. Finally it addresses networks and internet topics such as telephone networks, LAN, WAN, E- commerce, and Voice over IP.

(Prerequisite: Comp 201)

IT 331 Introduction to Internet Technologies (2,2;3 cr.)

Internet organization, addressing and routing concepts are discussed. Addresses basic through advanced Internet applications, protocols, and programming concepts behind creation of Internet applications using SMTP, HTTP, HTML and more. Multicast, voice over IP, streaming video and other networked multimedia distribution technologies are also explored.

(Prerequisite: IT 211)

IT 337 Data Modelling and Applications (2,2;3 cr.)

Basic data modeling concepts are introduced. Hands-on database design, implementation, and administration of single-user and shared multi-user database applications using a contemporary relational database management system. 

(Prerequisite: CSC 243)

IT 381 Object-Oriented Programming (2,2;3 cr.)

A broad introduction to object oriented programming and the related knowledge necessary to program in a contemporary programming language. This would include coverage of an Application Development Kit, creating stand-alone applications and applets for enhancing

(Prerequisite: CSC 243)

IT 411 Intermediate Object-Oriented Programming (2,2;3 cr.)

Covers object oriented programming concepts using a Java application generator. Creating user interfaces, working with data, implementing security, and deploying the application are discussed in detail. Hands-on exercises reinforce concepts taught. (Prerequisite: IT 381)

IT 431 Introduction to Data Networks (3,0;3 cr.)

This course covers current and evolving data network technologies, protocols, network components, and the networks that use them, focusing on the Internet and related LANs. The state of worldwide networking and its evolution will be discussed. This course covers the Internet architecture, organization, and protocols including Ethernet, 802.11, routing, the TCP/UDP/IP suite, DNS, SNMP, DHCP, and more. Students will be presented with Internet-specific networking tools for searching, testing, debugging, and configuring networks and network-connected host computers.

(Prerequisite: IT331)

IT 431L Data Networks Lab (0,6;3 cr.)

The lab covers the basic principles for network configuration and hands-on use of tools.

(Co-requisite: IT 431)

IT 441 Network Applications and Operations (2,2;3 cr.)

Students learn the details, use, and configuration of network applications. Currently protocols and application technologies considered include SNMP, SMTP, IMAP, POP, MIME, BOOTP, DHCP, SAMBA, NFS, AFS, X, HTTP, DNS, NetBIOS, and CIFS/SMB. Windows 2000 workgroups and domains: file and printer sharing, remote access, and the Windows Network Neighborhood are addressed.

(Prerequisite: IT 431)

IT 447 Data Programming (3,2;3 cr.)

This course enables the students to create an interface in Visual Basic and link it with a Database engine such as SQL Server or Oracle. A new approach is introduced to students, emphasizing methods of Opening Entity Sets, Adding & Deleting Entities, Updating Entities, and methods of connecting to specific information within Databases. The overall aim of this course is to enable students to eventually create and maintain a database program through a major project which is given as part of the course.

(Prerequisites: CSC 243)

IT448 System & Network Security (3,2;3 cr.)

This course offers the students an overview of information security mechanisms, explains how some attacks are realized, and introduces some safeguards and prevention techniques. It is designed to extend the student’s understanding of basic computer networking and security. It enables students to gain skills in data encryption technologies, security policies, firewalls, cryptographic techniques, network intrusion detection systems, ethics and privacy.

(Prerequisites: IT431)

IT 499 Senior Project/Internship (Code IT499) (2,2;3 cr.)

Supervised project/internship aimed at providing practical experience in some aspects of Information Technology. Students are expected to complete a literature survey, project specification, critical analysis, and to acquire the necessary materials needed for their intended end product. The course includes: production of a professional report, design process and outcome, implementation and testing, verification and validation, and critical appraisal of the project.

(Prerequisite: Director’s permission)

IT 514 Human Factors in Visual Programming Environments (2,2;3 cr.)

Students will study the fundamental problems associated with man-machine interfaces. Students will learn to apply several GUI techniques to design, layout and implement screen controls, menus and graphical objects using techniques such as logic flow and input validation. GUI programming elements of contemporary visual programming languages are introduced.

(Prerequisites: CSC 203, IT 411)

IT 515 Advanced Object Oriented Programming (2,2;3 cr.)

Covers object oriented programming concepts using a Java application generator. Creating user interfaces, working with data, implementing security, and deploying the application are discussed in detail. Hands-on exercises reinforce concepts taught. (Prerequisite: IT 411)

IT 522 Advanced Database Management I (2,2;3 cr.)

Advanced topics in database management and programming including client server application development are introduced. Expands knowledge of data modeling concepts and introduces object-oriented data modeling techniques.

(Prerequisite: IT 371)

IT 528 System and Network Security (3,0;3 cr.)

Prepares students for a role as a network security analyst and administrator. Topics include hacking, vulnerabilities, and countermeasures; network security architectures; policy and legal issues; security assessment; cryptography, tools used for network privacy, security and detecting and logging of incidents; and organizations addressing network security.

(Prerequisites: IT 431)

IT 563 Internet Application Development (2,2;3 cr.)

In-depth examination of the concepts involved in the development of Internet applications. Students will learn the differences and similarities between Internet applications and traditional client/server applications. A discussion of the technologies involved in creating these Internet applications is included, and students will learn to use these technologies to create robust server-side applications. Also addressed is the role of the Application Service Provider (ASP) in enterprise information technology management. (Prerequisites: IT 331, IT 411)

IT 565 Dynamic Web Page Development (2,2;3 cr.)

Students will learn the W3C and major vendors’ Document Object Models (DOM) and how to use scripting syntax and techniques to make use of the DOM in the preparation of dynamic web pages. The role of Cascading Style Sheets in dynamic pages will also be covered in detail.

(Prerequisite: IT 331)             

IT 566 XML and XHTML (2,2;3 cr.)

The student is introduced to the XML markup language and associated modeling techniques required to develop leading edge Web documentation for a next generation Web site, and learns to design structured and intuitive markup utilizing schema and style sheets which flexibly augment the underlying XML infrastructure. Principles of XML use are reinforced by analysis of business case studies including an XML-based Web site.

(Prerequisite: IT 331)

IT 597 Seminar (2,2;3 cr.)

This course will cover a particular topic, varying from semester to semester, in which there is particular student or staff interest. Prerequisite: permission of instructor

IT 598 Special Topics in Information Technology (6,12;12 cr.)

This course will cover a particular topic, varying from semester to semester, in which there is particular student or staff interest. Prerequisite: permission of instructor

IT 599 Independent Studies in Information Technology (3,6;6 cr.)

This independent course will cover a particular topic, varying from semester to semester, in which there is particular student or staff interest.

(Prerequisite: permission of instructor)

CSC 201 Introduction to Computer Science (2,2;3 cr.)

Introduction to the design and implementation of computer software with an emphasis on abstraction and program organization. Also, this course will cover ethics in computer science and discussions of intellectual property right and privacy.

(Prerequisite: COMP 201)

CSC 203 Programming Structures and Abstractions (2,2;3 cr.)

The course introduces basic concepts of systems programming. Students learn to apply basic programming concepts toward solving problems, create source files and header files, work with and effectively use basic data types, compile source code into binary executable files, and understand use of the “make” utility for project management. Currently this course will introduce basic concepts of procedural programming in C++, which also largely apply to the C programming language with appropriate differences discussed.

(Prerequisite: COMP 201)

CSC 243 Data Structures (3,0;3 cr.)

This course introduces concepts and implementations of linked lists, queues, stacks and trees. Strong emphasis is put on the lab part of this course where students will actually write code to solve problems related to data structures.

(Prerequisite: CSC 203 and MATH 222)

CSC 263 Computer Organization (3,0;3 cr.)

Introduction to the organization and structuring of the major components of computers and the transfer of information among these components for control and data processing. (Prerequisite: ELEC 223)

CSC 311 Introduction to Operating Systems (3,0;3 cr.)

Provides an overview of the structure and different functions of operating systems. Process and CPU scheduling, memory management, virtual memory, disk scheduling, file systems, concurrent processing and synchronization, and general resource allocation. This course introduces students to operating systems with special emphasis on Windows, Mac and UNIX operating systems. It covers mail, file system, and commonly used commands. It also covers current versions of each system with examples and exercises: (Prerequisite: CSC 243 and CSC 263)

CSC 305 Graphical User Interface (3,0;3 cr.)

An introduction to human-computer interaction, and graphical user interfaces. Topics include: principles of human-computer interaction, human cognitive abilities, interface analysis and design, window systems, and social implications of computing. Current interface programming tools will be described and used. Oral presentations are required for some assignments.

(Prerequisite: CSC 243)

CSC 382 Theory of Computation (3,0;3 cr.)

Introduction to abstract machine theory and formal language theory. Topics include turing machines, finite/pushdown automata, deterministic versus nondeterministic computations, context-free grammars, and mathematical properties of these systems. (Prerequisite: MATH 222, CSC 243)

CSC 391 Programming Language Concepts (3,0;3 cr.)

Study of the principles that form the basis of programming language design: abstraction, parameterization, scoping, argument association mechanisms, intepreters.

(Prerequisite: CSC 382)

CSC 441 Algorithm Analysis (3,0;3 cr.)

Design and analysis of algorithms and measurement of their complexity.

(Prerequisite: CSC 243)

CSC 426 Software Engineering I (3,0;3 cr.)

Methods and tools for software specification, design, and documentation. Emphasis on architectural modularity, encapsulation of software objects, and software development processes such as design review, code inspection, and defect tracking. Students working in teams apply these ideas to design and document software products. Study of professional ethics, responsibility, and liability.

(Prerequisite: CSC 382 or CSC 311)

CSC 427 Software Engineering II (3,0;3 cr.)

Methods and tools for software development, testing, and delivery. Emphasis on data abstraction and reusable components. Students working in teams implement a significant software product, including design documents, user’s guide, and process reports, using methods and processes studied in Software Engineering I. Students will practice oral and written communication skills.

(Prerequisite: CSC 426)

CSC 499 Senior Project/Internship (Code IT499) (3,0;3 cr.)

Supervised project/internship aimed at providing practical experience in some aspects of Computer Science. Students are expected to complete a literature survey, project specification, critical analysis, and to acquire the necessary materials needed for their intended end product. The course includes: production of a professional report, design process and outcome, implementation and testing, verification and validation, and critical appraisal of the project.

(Prerequisite: Director’s permission)

CSC 510 Advanced Algorithms (3,0;3 cr.)

Techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics: Advanced graph and search algorithms, dynamic programming; amortized analysis; graph algorithms; shortest paths; network flow; computational geometry; number-theoretic algorithms; greedy and approximate algorithms; polynomial and matrix calculations; strings and pattern matching.

CSC 512 Computational Complexity (3,0;3 cr.)

Basic time and space classes, the polynomial-time hierarchy. Randomized classes: RP, BPP, RL, and their relation to PH. Deterministic and non-deterministic computation; completeness and reducibility; Interactive proof systems.

CSC 516 Parallel Algorithms (3,0;3 cr.)

Provides the background for the analysis, design, and performance of parallel algorithms. Various models are considered among them:  CRCW, CREW, EREW. Circuit models and their interrelations.  Parallel complexity classes and their role. Students will use MPI to implement their project.

CSC 520 Operating Systems Theory (3,0;3 cr.)

Continuation of study from CSC311, with advanced topics and examples, and simulation techniques used in performance evaluation.

CSC 540 Formal Methods of Program Design (3,0;3 cr.)

Theory of formal languages, and mathematically modeling of objects, events, and phenomena. Chomskian grammars, systems for nonlinear, multi-dimensional objects such as L-systems, picture/graph grammars, and H-systems, and their language-theoretical properties and related machine theory.

CSC 542 Object-Oriented Software Development (3,0;3 cr.)

This course will focus on the principles, notations, methods and tools needed for the production of quality maintainable software using the full power of object orientation. Main topics include: fundamental software engineering principles, how to specify code using abstract data types and classes, how to develop implementations seamlessly and reversibly from specifications, the production of reliable code via contracts, design methods (BON and UML) and formal methods for verifying the correctness of industrial strength programs

CSC 544 Graphical User Interface (3,0;3 cr.)

An introduction to human-computer interaction, and graphical user interfaces. Topics include: principles of human-computer interaction, human cognitive abilities, interface analysis and design, window systems, social implications of computing, and some 2D graphics. Current interface programming tools will be described and used

CSC 597 Seminar (2,2;3 cr.)

Problems in Computer Science and results of ongoing research will be presented and discussed by invited experts. Prerequisite: Permission of the instructor.

CSC 598 Special Topics in Computer Science (6,12;12 cr.)

This course will cover a particular topic, varying from semester to semester, in which there is particular student or staff interest. Prerequisite: permission of instructor

CSC 599 Independent Studies in Computer Science (3,6;6 cr.)

This independent course will cover a particular topic, varying from semester to semester, in which there is particular student or staff interest. Prerequisite: permission of instructor

ENGR201 Introduction to Engineering (3,0;3 cr.)

The aim of this multidisciplinary course is to introduce sophomore students to the engineering profession from its technical, economic and social aspects. The course will cover the fundamental principles essential to every engineering specialization. Students will learn the basic skills for problem solving, engineering design and decision-making. Also, they will be working with software tools that engineers will use throughout their study such as PSPICE, EWB, MATLAB, etc. Group projects and presentations will allow students to work together and enhance their communication skills required within the engineering profession.

(Prerequisite: ENG 102 and above)

PDS 201 Personal Development Skills (3,0;3 cr.)

This course will provide an introduction to the essentials of effective informative public speaking. It will help students develop creativity as speakers by gaining basic competence in the preparation and delivery of spoken reports or other informative presentations. Moreover, it will introduce the student to research methods in business administration. Research techniques, research design, sampling, data gathering and questionnaire development are covered.

(Prerequisite: ENG 201)

CCNA1 Networking Basics (3,1;3 cr.)

The intention of this course is to engage beginning students in the field of networking  to master certain basic concepts, perform entry-level tasks in the planning, design, installation, operation, and troubleshooting of Ethernet and TCP/IP networks.

CCNA2 Router & Routing Basics (3,1;3 cr.)

The course focuses on initial router configuration, Cisco IOS Software management, routing protocol configuration, TCP/IP, and access control lists (ACLs). Students will develop skills on how to configure a router, manage Cisco IOS Software, configure routing protocol on routers, and set the access lists to control the access to routers.

CCNA3 LAN Switching and Wireless (3,1;3 cr.)

Course topics include: hierarchical network supporting converged data for small and medium-sized business.  Describe Ethernet for 100/1000 Mbps LANs and the IEEE 802.3 standards, role of Vlans and trunking VLANs in a converged network, STP with loops, basic wireless LAN security.

CCNA4 Accessing the WAN (3,1;3 cr.)

The course describes the fundamental concepts of point-to-point serial communication, Frame Relay, authentication and encapsulation, Frame Relay permanent virtual circuit (PVC), including configuring and troubleshooting Frame Relay on a router serial interface and configuring a static Frame Relay map. Describe advanced concepts of Frame Relay technology in terms of enterprise WAN services, including subinterfaces, bandwidth, and flow control.

IT 350 Fuzzy Logic Information Systems (3,0;3 cr.)

This course presents some fundamental knowledge of fuzzy sets, fuzzy logic, fuzzy information processing, fuzzy decision-making, and fuzzy control systems.  The aim of this course is to equip the students with some state-of-the-art fuzzy-logic technology, fuzzy informatics, and fuzzy intelligent system design methodologies, thereby better preparing them for the rapidly evolving high-tech information-based financial market and modern industry.

IT 370 Wireless Networks (3,0;3 cr.)

The objective of this course is to introduce students to wireless systems and topics including fundamentals of transmission, communication networks, protocols and TCP/IP protocol suite, signal encoding techniques, spread spectrum, cellular wireless networks, Overview of GSM systems and protocol architecture, mobile IP and wireless access protocol, wireless LAN technology, and Bluetooth.

IT 390 Antenna Analysis & Design (3,0;3 cr.)

Antenna synthesis and continuous sources, impedances, broadband antennas, frequency independent antennas, miniaturization, aperture antennas, horns, reflectors, and measurement techniques. The course introduces the fundamental principles of antenna theory and apply them to particular antennas for wireless communications systems and other advanced antenna systems. In addition, the course develops appreciation for research issues of antennas for mobile wireless and advanced communications systems.

IT 460 Optical Networks (3,0;3 cr.)

This course is designed to progress from the description of the components in a fiber link to the interconnections into a link or a network. The components in fiber links will be discussed (the fiber, the connections, the sources and receivers). These optical-components will be integrated together in a complete optical link.

IT 447 Database Programming (3,0;3 cr.)

This course enables the students to create an interface (in visual basic) and link with Database (SQL Server or Oracle). Some of the course topics are: Visual Basic Database Objects, General Rules for Designing Quality Forms and Interface Linking, Filtering Keyboard, Input Creating Reports with Crystal Reports Pro, Programming of True Grid, Create an Interface for a small company. It is a practical course which gives students the opportunity to practice their knowledge in Database by simulating real work field cases.

IT 499 Senior Project/Internship (3,0;3 cr.)

Supervised project/internship aimed at providing practical experience in some aspects of Information Technology. Students are expected to complete a literature survey, project specification, critical analysis, and to acquire the necessary materials needed for their intended end product. The course includes: production of a professional report, design process and outcome, implementation and testing, verification and validation, and critical appraisal of the project.

(Prerequisite: Directors’ Approval)