Click course number to move to its description in this page
1210
2040
2140
2240
2400
2600
2630
3000
3030
3040
3050
3110
3170 3190
3200
3500
3560
3650
3710
3900
4100
4200
4300
4400
4440
4450
4500
4510
4550
4600
4610
4700
4750
4800
4900
4910
Click on course name to display the detailed course contents
COMP
1210
Introduction to Computing (3).
This course is for
non-cs majors. The purpose is to introduce students to
computer hardware and use. Topics covered include: Computer
hardware, operating systems and some of the commonly used
application software such as a word Processor, an Internet
browser, an email manager, a presentation manager and a
spreadsheet processor. Course includes hands-on work with
computers. Not open to Computer Science majors. Offered
every semester. Prerequisite: high school algebra.
COMP 2040
Introduction
to computer & Problem solving(3). This
is the first course for Computer Science majors. The purpose
is to introduce students to essentials of computer hardware,
operating systems and problem solving. Topics to be offered
are binary, decimal and hexadecimal numbers, computer memory
and data storage methods, problem solving and algorithm
development, Windows and the UNIX operating systems and
their uses. Prerequisite is ENGR1001.
COMP 2140
Structured problem solving
and programming plus Lab (3).
This
course discusses basic structures of an object oriented
programming language and an integrated development software.
Students will use computer labs to implementation programs.
Basic language structures needed for translating
single-function and multi-function algorithms involving
decisions and loops are discussed. Discussions will be in
the context of programming language concepts.
Prerequisite: COMP 2040 or equivalent.
COMP2240
Object Oriented Programming
(3)..
This is the continuation of COMP 2140. The remaining
structures of the language used in COMP 2140, including
object oriented design, detail discussions of classes and
methods (functions), inheritance and polymorphism, exception
handling, one-dimensional and multi-dimensional arrays and
their uses, strings, matrices, and hashing will be
discussed. Discussions will be in the context of
programming language concepts. Prerequisite: COMP 2140
or equivalent.
COMP2400
Computer Organization I
(3).
This course
introduces the structures and working principles of the
different hardware units of a computer. Computer systems
organization, the digital logic level (gates and circuits,
memory), micro-architecture
level (data path, microinstructions), The instruction set
architecture level (instruction format, addressing) and
parallel computer architectures are discussed.
Prerequisites: COMP 2140.
COMP2600
Assembly Language
(3). This course
introduces low level programming through an assembly
programming language. Topics include: quick review of main
memory and CPU, use of memory, data types, data
processing, addressing, compilation and linking processes.
Prerequisite: COMP 2400.
COMP2630
Selective Programming Languages
(1- 2).
The purpose of this course is to teach all components of a
selected programming language. Some of the languages to be
offered are C, C++ , Pearl, Smalltalk, Scheme,
Lisp and Visual Basic. Credits earned may be accepted for
Computer Science Application requirements. Prerequisite:
COMP 2040.
COMP3000
Computer Programming for non-CS majors
( 3).
This course is a computer programming
for non-CS majors. Topics covered include: Introduction to
computer hardware, problem solving and algorithm
development, translating algorithms using an object oriented
programming language. Schedule will include two lecture
hours and two lab sessions. Prerequisite: High school
algebra. Offered on demand.
TOP
COMP3030
Event Driven Programming
(3). This course
introduces basics of visual programming, also known as event
driven programming, using the programming language used in
COMP 2140 and 224. Topics discussed include: Language
facilities for visual programming, messages and message
handling, message loop, creating windows including dialog
boxes, constructing controls within windows, graphics and
I/O with documents. Prerequisite: COMP 2240 or equivalent.
Offered spring semester.
COMP3040
Data Structures
(3). This course introduces basic data structures.
Topics discussed are: abstract data types, implementation of
stack and queue data structures with arrays and linked
lists, binary trees, heaps, and priority queues, some
sorting and searching algorithms and their implementations.
Prerequisite: COMP 2240 or equivalent.
COMP3050
Programming Languages (3).
This course presents fundamental concepts of programming
languages. Topics include: Syntax, Semantics, memory
management, parameter passing methods, new programming
language extensions ( object oriented programming, event
driven programming) and comparison of existing programming
languages. prerequisite: COMP 3040.
COMP3110
java Programming(3).
Basic java language
constructs, OO Design, classes, Internet Applications.
Prerequisite COMP 2240
COMP3170
Applied Operating Systems
(1- 3).
This course is designed for presenting advanced features of
some commonly used operating systems and their uses. It can
be taken more than one time, provided each time a different
operating system is taught. Examples of operating systems to
be offered are MS Windows, LINUX, and UNIX. Prerequisite:
COMP 2040.
COMP3190
Ethics and Professionalism in
Computing
(3),
This course presents the important
topics of communications and ethics for computer
professionals. Topics discussed include: Introduction
and definitions, Ethics for COMP professionals and computer
users, Computer and Internet Crime, privacy, freedom of
expression, intellectual property, Software development,
employer /employee issues, software engineering and IEEE
code of ethics and professional practice: Prerequisite: COMP
2040
COMP3200
Discrete
Mathematics
(3).
This course presents discrete mathematical structures for
computer science. Topics include: sets, functions and
relations, congruence, logic and proof methods, Boolean
algebra, graphs and trees and their applications in computer
science. Prerequisite: Math 1915 and COMP 2240.
COMP3310
Data Communications and Computer Networks (3). This
course presents basic concepts of data communications and
computer networks. Topics include: Definitions, signals,
encoding and modulation, digital data transmission and
transmission media, error detection and control, types of
networks, structure of an open network model, data link and
data link protocols. Prerequisite: PHYS 222 and COMP 2400.
TOP
COMP3500
Digital Logic Design (3).
Review of Boolean algebra
and digital logic gates, Switching algebra,
combinational and sequential logic design, minimization
methods. Prerequisite: COMP 2400.
COMP3560
Automata and formal languages
(3). The purpose
of this course is to teach concepts of formal languages and
automata. Topics include: mathematical preliminaries,
deterministic and nondeterministic finite acceptors, regular
expressions, regular languages and grammars, context free
grammars and languages, Turing machines.. Prerequisite: COMP
3200.
COMP3650
Microcomputers (3).
This course is designed for
teaching the personal computer hardware and software
essentials. Topics include: Structures of the PC system
board, main memory, CPU, the bus systems, expansion
slots, secondary memory units (disks, CD and DVDs, …), other
hardware devices, basics of the PC operating systems, PC
management, repair and maintenance. Prerequisite: COMP 2040.
COMP3710
Relational Databases. (3).
This course
presents basic principles of relational databases and a
relational database management system. Topics include
basic definitions of database systems, relations and their
operations, design and implementation of a relational
database, creating queries and the SQL (structured Query
Language). Prerequisite: COMP 3200.
COMP3900
Numerical Analysis (3).
This course is for
programming some mathematical problems including solutions
of non-linear equation and simultaneous linear equations,
matrix related computations, numerical differentiation and
integration, interpolation and approximation. Prerequisites:
COMP 2140 and MATH 36100.
COMP4100
Operating Systems I
(3). This course
presents theory of operating systems. Topics include:
Hardware interrupt
systems, concurrence of I/O operations, multiprogramming
systems, memory management, protection, resources
allocation, control job management and task management, real
time systems, time-sharing systems, paging, virtual,
scheduler, reliability, file management services, and system
accounting. Prerequisites: COMP 2400, COMP 30400
COMP4200
Compiler Construction (3).
This course is for teaching fundamentals of writing
compilers for programming languages. Topics include: lexical
analysis, parsing, semantic analysis and code generation.
Prerequisites: COMP 3560.
TOP
COMP4300
Software Engineering (3).
This course presents
principles of producing efficient and reliable software
systems. Topics include:
Design of reliable
software; error causes and consequences; software testing
methodologies, including test case design, tools, path
testing and transactions flow; data validation and program
correctness. Prerequisite: COMP 3040.
COMP4400
Artificial Intelligence (3).
Topics in machine intelligence. Prerequisite: COMP 3040.
COMP4440
Mobile Robotics
COMP4450
Computer Network Architecture (3).
Network design and types,
circuits switching, bridges, routers, control signaling,
traffic control, LANs, MANs, WANs and digital networks.
Prerequisite: COMP 3310.
COMP4500
Senior Project I (1).
Each CS major must start
working on a research project on the first semester of the
graduating year. The project is to be completed in COMP 4510
in the second semester of the graduating year. A written
report and an oral defense of the project are required.
Prerequisite: graduating senior.
TOP
COMP4510
Senior project II (1):
This course is the continuation of the COMP 4500. The
project started in COMP 4500 must be completed. The report
must be presented and orally defended. Prerequisite: COMP
45000
COMP4550
Computer Network Protocols (3).
Basic flow control, types
of protocols, routing, transports, contention, redundancy
checks, encryption and decryption, viruses and internet
protocols. Prerequisites: COMP 4450 and COMP 3200. Offered
in spring.
COMP4600
Game
Programming
COURSE OBJECTIVES
Games are so complex they require large teams of
programmers, designers, artists, testers, advertisers, and
producers to organize and develop them.
Games are now as complex as, if not more than, the latest
blockbuster film.
This course provides the basic fundamentals of C++
programming to advanced Direct X, as well as making 3D
objects and sound to implement into games.
COMP4610
Object Oriented and Hybrid Database
Systems (3):
This course presents Object
Oriented and hybrid database concepts. Topics include:
definitions of objects and attributes, methods and messages,
classes, object-oriented data models, architectural issues,
the Object-Oriented Database System Manifesto,
Object-Oriented Database Design, Object-Oriented Database
Management Systems, Object/Relational Database Management
Systems, SQL3. Prerequisite: COMP 3710. Offered Alternate
years.
COMP4700
Algorithms (3).
The purpose of the course is to teach principles of
algorithm design and algorithm analysis. Topics include:
Some basic algorithms, such as sorting and searching,
pattern matching, Classes of P, NP, NP-complete, intractable
problems and some algorithm design techniques, such as
dynamic programming, greedy algorithms. Prerequisites: COMP
3040. Offered in alternate years or as demanded..
COMP4750
Computer Network Management (3).
Network interfacing,
measuring failures and availability, reliability, security,
maintenance, network statistics, reconfiguration and
documentation. Prerequisites: COMP 3310. Offered in spring.
COMP4800
Computer Graphics (3).
This course presents
basics, including mathematical topics used in writing
graphics software. Topics include: Introduction,
Passive and
interactive computer graphics, programming, hardware, user
languages and output devices, transformations, algorithms,
object modeling, storage and manipulations and image
processing. Prerequisite: COMP 3040.
TOP
COMP4910
Special Topics(1 to 3) .
This course is for teaching
important emerging computer science topics that are not
covered in other CS courses.
Prerequisites: junior or senior status and successful
completion of at least 18 hours of CS courses.