Undergraduate Course Descriptions
COMPUTER SCIENCE (CSC)
CSC 1400 Introduction to Computers
4(3-2)
A thorough and non-technical guide for the practical use of computers
that is vital to the students' personal and professional lives.
It includes an overview of the computer's history, microcomputers
hardware and software including the Operating System, the most
commonly used application software: word processors, electronic
spreadsheets and management systems, and an introduction to programming
using Pascal as a structural procedural language.
This is a University Core Course for the BBA, BAIS, BACS, BSHRD
CSC 1401 Computer
Programming 4(3-2)
Pre-requisite: Working knowledge of algebra
and trigonometry
This course will cover algorithms and problem
solving, basic algorithmic analysis, fundamental
programming constructs and data structures,
and basic algorithmic strategies. Students
will learn the basic skill of constructing
a problem solution, and will illustrate this
in labs with a high level language (currently
C).
This is a University Core Course for the
BSGE, BSCSC, BSEMS
CSC 2302 Data
Structures 3(3-0)
Pre-requisites: CSC
1401 and MTH
1304 (required for BSCS program and recommended
for the other programs).
This course will build on the knowledge
and skills acquired in the introductory course.
It will cover basic data structures and computing
algorithms, algorithmic strategies, and recursion.
Students will also develop advanced competence
in algorithmic statement and complete the
basic tools needed for computer oriented
problem solving in a high level language
(currently C).
This is a General Engineering Core Course
for the BSGE
This is a Computer Science Major required
Course for the BSCSC
This is a Minor in Software Engineering for
the BSEMS
CSC 2303 Advanced
Programming/Object-Oriented Programming 3(3-0)
Pre-requisite: CSC
2302
This course will build on the broad ability
and understanding acquired in the previous
course to give students a strong mastery
of programming in a specific object-oriented
programming language, currently Java. It
will cover programming language concepts,
event-driven programming and object-oriented
programming in depth, as well as virtual
machines and language translation issues
including declarations and types and control
abstraction mechanisms.
This is a General Engineering Core Course
in the BSGE
This is a Computer Science Major required
Course for the BSCSC
This is a Minor in Software Engineering for
the BSEMS
CSC 2304 Computer
Architecture 3(3-0)
Pre-requisites: CSC
2302 and EGR
3331
This course will build on the strong base
of problem solving and programming language
skills reached in the preceding courses to
give students the basics of the physical
structure of a modern computer. It will cover
digital logic and digital systems, machine
level representation of data, assembly level
machine organization, memory system organization
and architecture, interfacing and communication,
illustrated with projects implemented in
assembly language and C.
This is a General Engineering Core Course
in the BSGE
This is a Computer Science Major required
Course for the BSCSC
CSC 3309 Artificial
Intelligence 3(3-0)
Pre-requisites: CSC
2303 and Junior Classification
This course provides an introduction to
techniques for the programming of intelligent
systems and problem-solving techniques. Topics
covered include knowledge representation,
propositional and predicate logic, expert
systems, searching and machine learning.
This is a Concentration Course in the BSGE
This is a Computer Science Major Advanced
Course for the BSCSC
CSC 3315 Languages
and Compilers 3(3-0)
Pre-requisite: CSC
2303
An introduction to the analysis of computer
languages and the tools used to translate
them. Includes an overview of programming
languages, virtual machines, introduction
to language translation and language translation
systems, basic computability and automata
theory.
This is a Computer Science Major required
Course for the BSCSC
CSC 3323 Analysis
of Algorithms 3(3-0)
Pre-requisite: CSC
2303
Study of algorithm design, including introductory
concepts; sorting and searching algorithms;
string, graph, and set algorithms; complexity
classes; branch and bound algorithms; dynamic
programming and advanced topics.
This is a Computer Science Major required
Course for the BSCSC
This is a Minor in Software Engineering for
the BSEMS
CSC 3324 Software
Engineering I 3(3-0)
Pre-requisite: CSC
2303
Course covers computer software design and
development, including feasibility study,
requirements analysis and design, using formal
methods such Merise. Concrete case studies
are used to illustrate concepts.
This is a General Engineering Core Course
in the BSGE
This is a Computer Science Major required
Course for the BSCSC
This is a Minor in Software Engineering for
the BSEMS
CSC 3325 Software
Engineering II 3(3-0)
Pre-requisite: CSC
3324
Continuation of the study of software engineering
begun in CSC
3324. Students will review and assimilate
the basic concepts and applications of software
engineering, learn core aspects of software
engineering (such as User interface, Software
Quality, Software re-use, etc.) that a computer
scientist must master and take into account
while building a piece of software, develop
skills for working in a large group on a
software project, explore the literature
related to the subjects addressed in this
course, and acquire the basic oratory skills
needed to present software engineering concepts
and applications. The course applies concepts
used in business and industry to develop
computer-based solutions to practical problems.
This is a Concentration Course in the BSGE
This is a Computer Science Major Advanced
Course for the BSCSC
This is a Minor in Software Engineering for
the BSEMS
CSC 3326 Database
Systems 3(3-0)
Pre-requisite: CSC
3324
The course covers the design and use of
modern relational databases. Topics include
file structures, hierarchical and network
data models in addition to the relational
model and relational algebra. SQL is also
introduced. Models for database design are
presented and compared. Also addressed are
current trends in database including object-oriented
and functional models as well as distributed
databases and database security issues.
This is a Concentration Course in the BSGE
This is a Computer Science Major required
Course for the BSCSC
This is a Minor in Software Engineering for
the BSEMS
CSC 3327 Internet
Technologies 3(3-0)
Pre-requisite: CSC
3326
Provides a global view of web-based enterprise
information services and covers the basic
components of such a system, including web
servers, client side components, server side
components, http protocols, html and scripting
languages, as well as e-commerce and intranet
application structures, including security
issues. It includes specific projects in
programming servers and clients. Students
will look at multiple technologies used today,
including Microsoft/.NET, Java J2EE technology,
Oracle tools, XML/SOAP, and others. Course
will give a broad look at current technologies,
as well as an in-depth study of a specific
technology.
This is a Concentration Course in the BSGE
This is a Computer Science Major Advanced
Course for the BSCSC
CSC 3328 Embedded
Systems 3(3-0)
Pre-requisite: CSC
3351
The course surveys application of computing
systems in a range of devices ranging from
nomadic devices to embedded real-time computers.
Emphasis will be on developing applications
for these platforms with stringent constraints
such as low memory, limited power, limited
processing power, no persistent storage capability
etc. An integral part of this course is the
implementation of a system on one of these
platforms, such as VxWorks/ EPOC/PalmOS/
Pocket PC, with a real time and mobility
flavor.
This is a Concentration Course in the BSGE
This is a Computer Science Major Advanced
Course for the BSCSC
CSC 3341 Computer
Graphics 3(3-0)
Pre-requisites: CSC
2303 and Junior Classification
Fundamentals of raster graphics, including
2D and 3D viewing systems, viewing transformations,
line and polygon models, rendering, clipping
and hidden surface removal, projections,
shading and illumination, interfaces, and
graphics systems components.
This is a Concentration Course in the BSGE
This is a Computer Science Major Advanced
Course for the BSCSC
CSC 3342 Human-Computer
Interaction 3(3-0)
Pre-requisite: CSC
2303
This course is an introduction to HCI models
and concepts. It will go through the different
models used to represent user interfaces,
from the SEEHEIM model to the more recent
ARCH model. It will include a presentation
of the different criteria that measure the
adaptability, the flexibility and the ergonomy
of interfaces, a review of the different
techniques used to build interfaces, and
a short description of the latest adaptive
interfaces.
CSC 3343 CAD/CAM/CAE
Fundamentals 3(3-0)
Pre-requisite: CSC
3341
Fundamentals, introduction to CATIA, Solid
modeling, Surface modeling, 2 D/3D integration,
Mechanical assembly.
CSC 3344 Advanced
Modeling and Simulation 3(3-0)
Pre-requisite: CSC
3343
Free form design, realistic renderings,
parametric and variational modeling, feature
based design, numerical computation, finite
element method, and kinematics.
CSC 3351 Operating
Systems 3(3-0)
Pre-requisites: CSC
2303 and CSC
2304
This course covers the general principles
of operating systems together with detailed
coverage of the most popular systems in the
marketplace, such as Linux, Macintosh, Microsoft
Windows. Throughout the course, the following
areas will be considered in detail: Concurrent
processes: deadlocks and mutual exclusion;
scheduling: preemptive and non-preemptive
strategies, performance measurement; Input/Output
management: buffering, device and processor
queues, latency, error correction, direct
memory access devices; file systems: naming,
referencing, disk space management, basic
security needs; memory management, swapping
and demand paging.
This is a Concentration Course in the BSGE
This is a Computer Science Major required
Course for the BSCSC
CSC 3352 Computer
Communications 3(3-0)
Pre-requisites: CSC
2303 and CSC
2304
This course introduces the student to the
subject of data communication in the context
of the OSI model USING as case studies TCP/IP
and Novell models. It includes the basic
communication theory of the physical and
datalink layers. Topics include: channel
capacity, error handling, transmission techniques,
and flow control. Case studies: Ethernet,
token ring, token bus, and others.
This is a General Engineering Core Course
in the BSGE
This is a Computer Science Major required
Course for the BSCSC
CSC 3353 Computer
Networks 3(3-0)
Pre-requisite: CSC
3352
This course covers relevant topics including
network architecture and protocols. The OSI
model is reviewed focusing on the network
layer, the transport layer and the application
layer. Examples of contemporary networks
such as TCP/IP are studied in detail with
emphasis on design and analysis issues.
This is a Concentration Course in the BSGE
This is a Computer Science Major Advanced
Course for the BSCSC
CSC 3354 Distributed
Systems 3(3-0)
Pre-requisites: CSC
3351 and CSC
3352
Classification of distributed systems. Systems
architecture: unreliable networks and programs
as implementations of perfect abstract processes
that communicate through loss-free channels.
Standardization of protocols and services.
Specification of distributed activities.
Proofs of systems properties. Server-based
systems.
This is a Concentration Course in the BSGE
This is a Computer Science Major Advanced
Course for the BSCSC
CSC 3355 Computer
Security 3(3-0)
Pre-requisites: CSC
2303 and Senior Classification
A detailed account of security issues, together
with cryptography and its usage in the internet,
firewall technology, packet filtering, etc.
This is a Concentration Course in the BSGE
This is a Computer Science Major Advanced
Course for the BSCSC
CSC 4300 Internship
3(3-0)
May be combined with CSC
4402 for 7 SCH.
On-the-job education and training in a public
or private sector agency or business. Students
must consult with the internship director
to arrange for a three-party contract to
be drawn up that details the amount and nature
of the work to be done. The contract must
be signed by the student, the internship
director and the agency or business person
supervising the work.
This is a School Core Course for the BSCSC
CSC 4402 Capstone
Design 4(2-4)
Pre-requisite: To be taken during the last
regular semester of enrollment.
A project-design course to consolidate the
information gathered in all previous courses.
The content will vary and will take into
account the technical electives and engineering
optional courses selected.
This is a School Core Course for the BSCSC
|