Computer Science

Name Title Credits School
CSCI 101 Computer Concept 3.00 School of Eng & Comp Sciences


Classroom Hours - Laboratory and/or Studio Hours – Course Credits:

CSCI 105 Introduction to Computational Tools 2.00 School of Eng & Comp Sciences
In this course, students will learn how to use the computer as a tool to solve problems in engineering, computer science, and related area. Packages such as MathCAD or MATLAB will be used to illustrate the solution to new and familiar problems in physics, mathematics, engineering and computer science.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 1-2-2

CSCI 110 Introduction to Computer Science 3.00 School of Eng & Comp Sciences
This course is designed to provide students with an overview of the basic hardware and software organization of computer systems. Students get hands-on experience with the DOS and Windows operating systems environments. Computer programming skills are taught using the Visual Basic programming language.

Prerequisite Course(s): Prerequisite: MATH 140 or MATH 141 or MATH 170 or TMAT 155

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 120 Programming I 3.00 School of Eng & Comp Sciences
This course provides basic skills in problem solving and programming. Topics covered include simple data types, expressions and statements, program flow control structures, exception handling and functions. Elements of object oriented programming techniques are also introduced.

Prerequisite Course(s): Prerequisite: MATH 140 or MATH 141 or MATH 170 or TMAT 155

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 125 Computer Programming I 3.00 School of Eng & Comp Sciences
This course provides basic skills in problem solving and object-oriented programming using a high level language such as Java or C++. Topics include algorithm development, simple data types, expressions and statements, program flow control structures, objects, methods and arrays. Knowledge of Algebra

Prerequisite Course(s): Prerequisite: MATH 141 or higher

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-1-3

CSCI 130 Computer Organization 3.00 School of Eng & Comp Sciences
The course covers the basics of combinatorial and sequential digital circuits. Representative digital circuits are multiplexers, demultiplexers, decoders, counters, registers, memory and ALUs. The use of programmable logic devices in digital circuitry is also covered. The course culminates with the design of a simple computer to specifications, both hardware description language, and a graphical editor to design and implement digital circuits throughout the course. Equivalent to EENG 130.

Prerequisite Course(s): Prerequisite: MATH 140 or MATH 141 or MATH 170 or TMAT 155

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 135 Digital Logic Design Fundamentals 3.00 School of Eng & Comp Sciences
The course introduces students to the modeling and design of fundamental digital circuits. Topics cover introduction to binary numbering, Boolean algebra, combinatorial and sequential logic circuits and memory elements (e.g. ROM, RAM and non-volatile computer memory). VHDL will be used in modeling, simulation and synthesis of digital circuits. Classroom Hours- Laboratory and/or Studio Hours- Course Credits: 3-0-3

Prerequisite Course(s): Prerequisite: MATH 136 or MATH 140 or MATH 141 or MATH 170

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 155 Computer Organization and Architecture 3.00 School of Eng & Comp Sciences
This course introduces students to the organization and architecture of modern computers. The students will learn a variety of concepts from the stored-program concept and the machine cycle, to the representation of code and data. The basic components of a computer and their functionality are analyzed including processor data path, pipelines, I/O devices, memory hierarchy, and interconnection networks. The instruction set architecture and its importance in reducing the gap between hardware and software is also discussed. Students will also learn how to evaluate computer performance.

Prerequisite Course(s): Prerequisite:CSCI 125, CSCI 135 and one course in this group: MATH 161 or MATH 170

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 160 Programming I 3.00 School of Eng & Comp Sciences


Prerequisite Course(s): Prerequisite: MATH 140 or TMAT 155 or MATH 170

Classroom Hours - Laboratory and/or Studio Hours – Course Credits:

CSCI 170 Computer Architecture 3.00 School of Eng & Comp Sciences
A detailed discussion of computer hardware organization and design. Topics included are: processor bus organization, the arithmetic unit, micro-instructions, micro-programming, memory subsystem design, memory organization, I/O interface, asynchronous data transfer, interrupt, and direct memory access.

Prerequisite Course(s): Prerequisite: CSCI 130 or EENG 130 or EENG 125

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 185 Computer Programming II 3.00 School of Eng & Comp Sciences
This course provides advanced skills in object-oriented programming and problem solving techniques using a high level language such as Java C++. Topics include polymorphism, inheritance, exception handling, stream and file I/O, recursion, and dynamic data structures.

Prerequisite Course(s): Prerequisite: CSCI 120 or CSCI 125

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-1-3

CSCI 210 Programming II 3.00 School of Eng & Comp Sciences


Prerequisite Course(s): Prerequisite: Take CSCI 160 and one course in this group: CSCI 120 or CSCI 125

Classroom Hours - Laboratory and/or Studio Hours – Course Credits:

CSCI 230 Discrete Structures 3.00 School of Eng & Comp Sciences
A review of sets, functions, relations, mathematical induction and algorithmic analysis as applied to computer science. Graph theory, including minimal and maximal algorithms and the critical path method, is studied as well as automata theory and formal languages.

Prerequisite Course(s): Prerequisite: Take one course in each group: Group 1 (MATH 161 or MATH 170) and Group 2 (CSCI 180 or CSCI 185 or CSCI 210)

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 235 Elements of Discrete Structures 3.00 School of Eng & Comp Sciences
This course provides students with an introduction to discrete structures with applications to computing problems. Topics include logic, sets, functions, relations, proof techniques, counting and algorithmic analysis in addition to graph theory and trees.

Prerequisite Course(s): Prerequisite: Take CSCI 185 and one course in this group: MATH 161 or MATH 170

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 260 Data Structures 3.00 School of Eng & Comp Sciences
The classic data structures, such as stacks, queues, linked lists, binary trees, etc. are studied. Sorting and searching are stressed. Computational analysis is also studied.

Prerequisite Course(s): Prerequisite: Take one course in each group: Group 1 (MATH 161 or MATH 170) and Group 2 (CSCI 180 or CSCI 210 or CSCI 185)

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 270 Probability and Statistics for Computer 3.00 School of Eng & Comp Sciences
This course covers basic concepts in probability theory and illustrates its applications to computer science. The course covers probability spaces, random variables, distributions and density functions, expectations, sampling, limit theorems, statistical inference and hypothesis testing, as well as additional topics such as large deviations, client-server system and Markov chains, as they apply to computing.

Prerequisite Course(s): Prerequisite: Take MATH 180 and one course in this group: CSCI 230 or CSCI 235

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 300 Database Management 3.00 School of Eng & Comp Sciences
Various data models, including hierarchical, network, relational, and object oriented, are introduced. The major part of the course is devoted to relational databases. Topics covered are the mathematical foundation, the three-level ANSI-SPARC architecture, and the SQL language. The SQL language includes the data manipulation and data definition components that are used to construct and query databases and also to provide access control to safeguard security. Entity-relationship modeling is presented and used to design the external level. Functional dependency and normalization techniques are used for the logical design of databases. Problems of concurrency control in multi-user database management systems are discussed.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 303 INTPRGLNG 3.00 School of Eng & Comp Sciences


Classroom Hours - Laboratory and/or Studio Hours – Course Credits:

CSCI 310 C and Unix 3.00 School of Eng & Comp Sciences
A study of the ANSI Standard C programming language and the UNIX programming environment. Topics covered include the syntax of C, basic UNIX commands, the UNIX file system, filters and pipes, shell programming and using UNIX system calls in C. C++, the object-oriented extension of C, will also be introduced.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 312 Theory of Computation 3.00 School of Eng & Comp Sciences
The basic concepts of the theory of computation are studied including set theory, finite automata, context free and context-sensitive languages, Turing machines, Church's thesis, and uncomputability. The classes of computation complexity and their practical limitations are studied.

Prerequisite Course(s): Prerequisite: CSCI 235

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 318 Programming Language Concepts 3.00 School of Eng & Comp Sciences
Formal definition of programming languages including specification of syntax and semantics. A comparative analysis of various high-level programming languages with emphasis on the appropriateness of languages for certain applications.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 320 Computer Graphics I 3.00 School of Eng & Comp Sciences
Introduction to the principles of interactive computer graphics, including input techniques and devices, display devices, display files, interactive graphic techniques, two-and three-dimensional computer graphics, and transformations. Graphic oriented languages are also discussed.

Prerequisite Course(s): Prerequisite: CSCI 260 and MATH 310

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 325 Compiler Design 3.00 School of Eng & Comp Sciences
The design and implementation of a compiler is studied, including compiler organization, lexical analysis, searching methods and symbol tables, formal languages and grammar, parser construction, code syntax and code generation.

Prerequisite Course(s): Prerequisite: Take CSCI 260 and one course in this group: CSCI 185 or CSCI 210

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 330 Operating Systems 3.00 School of Eng & Comp Sciences
The design and implementation of an operating system is studied, including process states and synchronization, memory management strategies, processor scheduling, multiprocessing, parallel processing, hardware organization, disk scheduling and file management.

Prerequisite Course(s): Prerequisite: Take CSCI 260 and one course in this group: CSCI 185 or CSCI 210

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 335 Design and Analysis of Algorithms 3.00 School of Eng & Comp Sciences
The fundamentals of designing computer algorithms are introduced. An overview of advanced data structures such as balanced trees, heaps and hash tables is presented. A discussion of algorithm design techniques will include, but not be limited to sorting and ordering, divide and conquer, shortest path and dynamic programming. The complexity of algorithms to various applications is discussed.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 345 Computer Networks 3.00 School of Eng & Comp Sciences
This course introduces students to the fundamentals and applications of computer networks and layered architectures. Topics include the ISO reference 7-layer model, physical layer issues, data link layer protocols, medium access protocols, network layer, transport layer, and internetworking. A network-related programming final project is required.

Prerequisite Course(s): Prerequisite: CSCI 330

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 350 Systems Analysis 3.00 School of Eng & Comp Sciences


Classroom Hours - Laboratory and/or Studio Hours – Course Credits:

CSCI 352 Introduction to Network and Internet Security 3.00 School of Eng & Comp Sciences
In this course, students are introduced to fundamental aspects of network and Internet security. The focus of the course is on network-based threats, their detection, preventions and analysis, as well as the integration of the tools and techniques employed in this effort. The students learn topics including: authentication; email, IP, and web security; security threats; malicious software; and firewalls.

Prerequisite Course(s): Prerequisite: CSCI 345 or CSCI 370

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 354 Principles of Information Security 3.00 School of Eng & Comp Sciences
This course introduces students to a range of contemporary, applications-oriented, and advanced technical aspects of information security and assurance. Topics covered in this course are: the need and planning for security, information security maintenance, security technology, cryptography, and physical security. The course will also cover security policies, and legal and ethical issues. The course will also include a special project or paper as required and specified by the instructor and the SoECS graduate committee.

Prerequisite Course(s): Prerequisite: CSCI 345

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 355 Artificial Intelligence I 3.00 School of Eng & Comp Sciences
Introduction to artificial intelligence programming languages LISP, PROLOG, and object-oriented programming. Basic problem representation and heuristic searching techniques will be discussed. Concept of knowledge engineering and various applications of knowledge representation schemes will be studied.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 357 Cisco Academy Level I 3.00 School of Eng & Comp Sciences
This course prepares students with the knowledge and skills required to install, operate, and troubleshoot a small to medium size enterprise branch network. Topics include implementing network security, routing and switching fundamentals, the TCP/IP and OSI models, operating and configuring IOS devices, extending switched networks with VLANs, determining IP routes, managing IP routes, managing IP traffic with access lists and establishing point-to point and Frame Relay connections.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 2-2-3

Dept Cnst

CSCI 360 Web Site Engineering 3.00 School of Eng & Comp Sciences


Classroom Hours - Laboratory and/or Studio Hours – Course Credits:

CSCI 362 Information System Security Engineering And Administration 3.00 School of Eng & Comp Sciences
In this course students will study the issues involved in structuring a computer-based information system to meet enterprise requirements and public policy regulations. Topics include the building blocks of an information system, emphasizing the security and administration aspects of each, as well as life-cycle considerations, and risk management. The course will also include a special project or paper as required and specified by the instructor and the SoECS graduate committee.

Corequisite Course(s): Co-requisite: CSCI 354

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 364 Introduction to Computer Vision 3.00 School of Eng & Comp Sciences
This course is an introduction to the concepts and applications in computer vision. The course covers image formation, local feature analysis, multi-view geometry, image stitching and warping, structure from motion and visual recognition systems.

Prerequisite Course(s): Prerequisite: CSCI 260, CSCI 270, and MATH 310

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 370 Introduction to Computer Networks 3.00 School of Eng & Comp Sciences
An introduction to the fundamentals and the applications of data communications. Network architectures, topology and the ISO model will be discussed. Novell's LANor equipment will be used for practical hands-on experience.

Prerequisite Course(s): Prerequisite: CSCI 330

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 372 Big Data Management and Analytics 3.00 School of Eng & Comp Sciences
Organizations today are generating massive amounts of data that are too large and unstructured to fit in relational databases. Existing platforms such as the Apache Hadoop allow for distributed and enterprise systems processing, of large data sets across clusters of computers, using the MapReduce programming model. In this course, students will gain an in-depth understanding of how MapReduce and Distributed File Systems work. In addition, they will be able to author Hadoop-based MapReduce applications in Java and use Hadoop subprojects Hive and Pig to build powerful data processing applications. Industry systems, such as IBM InfoSphere BigInsights and IBM InfoSphere Streams will be studied.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 380 Introduction to Software Engineering 3.00 School of Eng & Comp Sciences
Formal approach to techniques of software design, development, testing and management. Design techniques considered include formal models of structured programming, stepwise refinement, segmentation, top-down design, data abstraction, information hiding and object-oriented development. A modern programming language will be used.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 385 Network and Internet Security 3.00 School of Eng & Comp Sciences
In this course we provide students with a firm understanding of the major aspects of network and Internet security. A hands-on project in a laboratory setting to emphasize some aspect of network or Internet security will be studied.

Prerequisite Course(s): Prerequisite: CSCI 345

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 401 Database Interfaces and Programming 3.00 School of Eng & Comp Sciences
An advanced course in static and dynamic programming, embedded SQL using C. Open Database Connectivity (ODBC), interface to access data from various database management systems with Structured Query Language (SQL).

Prerequisite Course(s): Prerequisite: CSCI 300

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 405 Distributed Database Systems 3.00 School of Eng & Comp Sciences
Concepts underlying distributed systems: synchronization, communication, fault-tolerance. Concepts and architecture of distributed database systems. Distributed concurrency control and recovery. Replicated databases. Distributed Query Processing. Examples of commercial relational distributed DBMS.

Prerequisite Course(s): Prerequisite: CSCI 300

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 410 Artificial Intelligence II 3.00 School of Eng & Comp Sciences
Principal artificial intelligence application areas such as Natural Language Processing (NLP), Computer Vision, speech recognition and understanding, problem solving and planning and machine learning systems will be studied. Current state-of-the-art Expert Systems and Expert System Tools will be introduced.

Prerequisite Course(s): Prerequisite: CSCI 355

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 415 Introduction to Data Mining 3.00 School of Eng & Comp Sciences
This course introduces the concepts, techniques and applications of data mining. Topics include data preprocessing, clustering, data warehouse and online analytical processing (OLAP) technology, cluster and social network analysis, data classification and prediction, multimedia and web mining.

Prerequisite Course(s): Prerequisite: CSCI 270, CSCI 300, and CSCI 335

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 420 Computer Graphics II 3.00 School of Eng & Comp Sciences
Advanced work in computer graphics, including surface description methods, color perception and images synthesis. Dynamic Vectors, Raster displays. Applications such as CAD/ CAM will be discussed.

Prerequisite Course(s): Prerequisite: CSCI 320

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 426 Information Retrieval 3.00 School of Eng & Comp Sciences
This course provides students with an introduction to the basics and techniques of information retrieval. Topics cover search engines, retrieval strategies such as vector space, extended Boolean, probabilistic models and evaluation methods including relevance-based measures, query processing, indexing and searching.

Prerequisite Course(s): Prerequisite: CSCI 270 and CSCI 300

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 430 Computer Animation 3.00 School of Eng & Comp Sciences
This course is an introduction to basic principles of computer-generated animation. Topics cover animation planning and production, traditional and emerging animation techniques, motion dynamics and particle systems. This course will also include Maya scripting and the Maya C++ API, 2D and 3D programming, and motion capture.

Prerequisite Course(s): Prerequisite: CSCI 320

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-1-3

CSCI 436 Big Data Management & Analytics 3.00 School of Eng & Comp Sciences
Organizations today are generating massive amounts of data that are too large and unstructured to fit in relational databases. Existing platforms such as the Apache Hadoop allow for distributed and enterprise systems processing, of large data sets across clusters of computers, using the MapReduce programming model. In this course, students will gain an in-depth understanding of how MapReduce and Distributed File Systems work. In addition, they will be able to author Hadoop-based MapReduce applications in Java and use Hadoop subprojects Hive and Pig to build powerful data processing applications. Industry systems, such as IBM InfoSphere BigInsights and IBM InfoSphere Streams will be studied.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 440 Network Security and Perimeter Protection 3.00 School of Eng & Comp Sciences
This course will cover infrastructure security issues. Network operating systems and network architecture will be discussed together with the respective security related issues. The students will learn about the threats to computer networks through exploition of weaknesses in the design of network infrastructure and security flaws in the network infrastructure protocols. Issues related to the security of content and applications such as email, DNS, web servers will be discussed. Security techniques including intrusion detection, forensics, cryptography, authentication and access control are analyzed. Developmnets in IPSEC, transport protocols, secure mail, directory services, and multimedia services are discussed.

Prerequisite Course(s): Prerequisite: CSCI 345,

Corequisite Course(s): Co-requisite: CSCI 385.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 445 Operating System Security 3.00 School of Eng & Comp Sciences
In this course students are introduced to advanced concepts in operating systems with emphasis on security. Students will study contemporary operating systems including UNIX and Windows. Topics include the application of policies for security administration, directory services, file system security, audit and logging, cryptographic enabled applications, cryptographic programming interfaces, and operating system integrity verification techniques.

Prerequisite Course(s): Prerequisite: CSCI 330. CSCI 345

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

CSCI 450 Seminar Project 3.00 School of Eng & Comp Sciences
The student will undertake a project under the guidance of an instructor. Each student will present oral reports before the group in a seminar situation. The project will be concerned with some aspect of computer science and results will be presented in a final written report.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

Dept Cnst

CSCI 455 Senior Project 3.00 School of Eng & Comp Sciences
In this course students undertake a computer science project under the guidance of a faculty advisor that draws significantly on knowledge and skills acquired in previous course work. Students work in teams on the design and implementation of a project with emphasis on constraints and trade-offs. Project topics may include computer graphics, computer and network security, and information management. Periodic written progress reports and oral presentations are used to track the ongoing course progress. A detailed final documentation, including a user manual for the developed application or project, together with a live demonstration are required. Approval of Chairperson. Open to Seniors only.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

Dept Cnst

CSCI 456 Senior Project I 2.00 School of Eng & Comp Sciences
This course, part of a two course sequence, provides students with the design principles and tools necessary for project formulation, literature search and mathematical modeling techniques, the use of simulation software, project management, and proposal writing skills. Students will work in multidisciplinary teams to prepare proposals to design a system or component of a system. Project proposals will draw significantly on knowledge and skills acquired in previous coursework. Project topics may include computer graphics, computer and network security, and information management. Classroom Hours- Laboratory and/or Studio Hours- Course Credits: 1-3-2

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 1-3-2

Dept Cnst

CSCI 457 Senior Project II 2.00 School of Eng & Comp Sciences
In this course students undertake a computer science project under the guidance of a faculty advisor that draws significantly on knowledge and skills acquired in previous course work. Students work in teams on the design and implementation of a project with emphasis on constraints and trade-offs. Periodic written progress reports and oral presentations are used to track the ongoing course progress. A detailed final documentation, including a user manual for the developed application or project, together with a live demonstration are required. Classroom Hours- Laboratory and/or Studio Hours- Course Credits: 1-3-2

Prerequisite Course(s): Prerequisite: CSCI 456

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 1-3-2

CSCI 460 Special Topics I 3.00 School of Eng & Comp Sciences
Critical study of theory and research related to advanced topics in computer science such as computer graphics, artificial intelligence, performance evaluation, advanced systems programming or topics in computability, automata theory, etc. The specific topics of the seminar will be determined by the interest of both the students and the instructor.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

Dept Cnst

CSCI 470 Special Topics II 3.00 School of Eng & Comp Sciences
Advanced topics in computer science of interest to both students and faculty will be covered.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3

Dept Cnst