Computer and Information Sciences (CIS)
305. Data Structures. Emphasis of this course is on the organization
of information, the implementation of common data structures such as lists,
stacks, queues, trees, and graphs, and techniques of data
abstraction, including encapsulation and inheritance. This course also explores
recursion, the close relationship between data structures and algorithms and the
analysis of algorithm complexity (‘O’
notion). Hands-on programming is a central component of this course. Mini-labs
and programming assignments are administered. Assignments will focus on the
design, implementation, testing and
evaluation of various data structures.
310. Analysis of Algorithms. This course introduces basic elements of
the design and analysis of computer algorithms. Topics include asymptotic
notations and analysis, parallel sorting networks, divide and
conquer, greedy methods and matroids, dynamic programming, basic graph
algorithms, NPcompleteness, approximation algorithms, and network flows
analysis. For each topic, beside indepth
coverage, one or more representative problems and their algorithms shall be
discussed. In addition to the design and analysis of algorithms, students are
expected to gain substantial discrete
mathematics problem solving skills essential for computer engineers.
Prerequisite: CIS 305.
320. Digital Logic. Basic building blocks and design methods to
construct synchronous digital systems. Alternative representations for digital
systems; Bipolar TTL vs. MOS implantation technologies;
Standard logic (SSI, MSI) vs. programmable logic (PLD, FPGA); Finite state
machine design. Usage of Xilinx HDL design software for implantation of various
logic circuits.
340. Computer Architecture. Basic hardware/software components,
assembly language, and functional architecture design of computers; syntax and
semantics of a typical microprocessor assembly
language; instruction sets, construction and execution of an assembly program;
the design and I/O modules, memory, control unit and arithmetic unit.
Prerequisite: CIS 320.
370. Programming Language Design. This course explores the design of
high-level languages; criteria for language selection; specification techniques
for syntax and semantics; trends in high-level
language design and introduction to programming in LISP. Prerequisite: BCIS 2331
or COSC 1320.
380. Automata Theory. A study of the basic types of abstract languages
and their acceptors; the Chomsky hierarchy; solvability and recursive function
theory; application of theoretical results to practical
problems. Prerequisite: MATH 331.
390. Computing History, Ethics and Crime. The course studies
professional issues in the information technology profession; history and social
context of computing; professional responsibilities;
privacy; intellectual property; risks and liabilities of computer-bases
systems.Prerequisite: Senior CIS major and permission of the instructor.
410. Operating Systems. The principles and concepts that govern the
design of modern computer operating systems are studied. Managing computing
resources such as the memory, the processor
and the Input/Output devices are covered – algorithms for CPU scheduling, memory
and general resource allocation; process coordination and management; case
studies of several operating systems.
Operating systems also manage the authentication, accounting and authorization
aspects in a multiuser system. Issues and limitations imposed on a computing
environment by the choice of different
operating systems are also explored. Prerequisite: CIS 305.
417. Information Theory. This course presents concepts of data information theory, bandwidth computation, error coding and recovery, data security and cryptography. Prerequisite: Calculus II and MATH 453.
420. Computer Networks. Several computer networking concepts are
covered including the OSI reference model for networking protocols, TCP/IP
implantation, internetworking technologies such as frame relay, FDDI, X-25, ISDN
services, the Internet, and the World Wide Web. The use of internetworking
software applications, routing/switching hardware and algorithms, security,
intranets and intranet
servers and browsers, networks and network servers, LANs/WANs. The course will
also include case studies of existing networks and network architectures.
Prerequisite: CIS 305.
425. Distributed Computing. Concepts of heterogeneous multi-computer
systems, distributed operating systems are covered. Communication in a
client/server model using RPC, Message oriented
communications, remote object invocation, and stream oriented communication for
multimedia environments, distributed processes and software agents. Other
distributed system concepts such
as clock synchronization, data consistency and replication, fault tolerance,
security and distributed component and file systems are also covered.
Prerequisite: CIS 410 and 420.
435. Mobile and Wireless Networks. This course will cover a broad
selection of topics in mobile data communications such as various wireless
networking technologies (Bluetooth, 802.11, 802.16, satellite communication),
mobile IP and ad hoc routing algorithms, mobile TCP, mobile data management,
location dependency/awareness, mobile applications/services, security issues and
user interface
issues. Prerequisite: CIS 420.
440. Web Applications Engineering. This course examines various
paradigms in client/server technologies for development of dynamic websites such
as EBay or Hotmail. Various aspects of dynamic websites such as cgi, database
backend with MySql, web services using the XML related technologies, servlets,
Javabeans will also be explored. This course has a significant programming
component.
Prerequisite: COSC 1320 or BCIS 2331.
445. Telecommunication Systems. Course presents basic concepts in telecommunications, emphasizing topics such as SONET, Cell and Frame Relay, ATM and multimedia switching. Recent concepts such as VPN over MPLS are introduced. Operation and Maintenance (OAM) of large computer networks are also discussed. Prerequisite: CIS 420.
447. Modeling and Simulation. A study of modeling and computer
stimulation of discrete and continuous systems – those characterized by
stochastic discrete events and those characterized by differential
equations. Will include the study and use of simulation languages. Prerequisite:
CIS 420, MATH 453, and Calculus II.
450. Network Management. This course enables a student to understand
how to support, plan and manage a local or wide area network. Monitoring and
configuring of network elements using SNMP
and RMON will be studied. The use of COBRA, CLI and web based management tools
will also be covered. Prerequisite: CIS 420.
460. System Programming and Compiler Design. Study of programming
language translation: functions and general organization of compiler design and
interpreters; theoretical and implementation aspects
of lexical scanners; parsing of context free languages; code generation and
optimization; error recovery. Prerequisite: CIS 305, 370 and 380.
470. Data Mining. This course focuses on association rules,
descriptive and predictive models, classification, statistics, nearest neighbor,
clustering and decision trees. Related topics such as data
warehousing, data preparation, web mining and temporal mining will also be
covered. Prerequisite: MIS 366.
475. Computer Graphics. A study of the principles of interactive computer graphics; systems organization and device technologies for raster and vector displays; 2-D and 3-D viewing, clipping, segmentation and interaction handling; 3-D geometrical transformations, projections and hierarchical data structures for graphics modeling. Prerequisite: CIS 305.
485. Capstone in CIS. This course will require a student to complete a
project in their area of interest with a final report and presentation due at
the end of the semester. The project must reflect a comprehensive theoretical
and practical understanding of various topics in computer science (programming,
mathematical analysis, architecture design etc.). Prerequisite: Senior CIS major
and permission of
instructor.
489. Individual Study. Individual instruction. May be repeated when topics vary.
497. Special Topics. Organized class. May be repeated when topics vary. Special courses designed to cover areas of specific interest.
_________________________________________________________________________________________________________________________________________________________
Electrical Engineering (EE)
210. Introduction to Electrical Engineering. Current, voltage, power
and energy, Kirchhoff’s current and voltage laws, resistance, capacitance,
inductance, series and parallel combinations of circuit
elements will be introduced. Superposition, mesh current and node voltage
analysis, complex numbers, signals, communications, modulation, binary number
systems, Boolean algebra, and logic elements
will be emphasized. Co-requisite: Calculus I and calculus based Physics I.
220. Introduction to Circuits. Circuit elements, voltage and current
dividers, and Thevenin and Norton theorems will be reviewed. Inverters, sum and
difference amplifies, capacitors and inductors, transient
response, RC, RL and TCL circuits, AC steady-state analysis, sinusoids and
phasors will be emphasized. Prerequisite: EE210 and calculus based Physics I.