




  |
 |

COURSE DESCRIPTIONS
CS-100
Computers and Society, 3cr.
This
course provides an introduction to the history of computing and how
computers have affected society. Furthermore, it covers the basic
computer skills needed to be truly computer literate in modern society.
Topics include history of computing, the social context of computing,
ethical issues in computing, computer security and privacy, the impact
of the internet and the World Wide Web, an introduction to computer
architecture and operating systems, word processing, spreadsheets, and
data base management systems.
Prereq: None, (Course not applicable to CS majors)
CS-200 Programming I, 3cr.
This is a preparatory course for students who wish to pursue further
work in Computer Science. It provides an introduction to the basic
concepts of a computer system and the principles of computer
programming. Students will get extensive programming experience using
microcomputers. A number of programming projects will be assigned
involving numeric computation, character manipulation and fundamental
constructs of a high-level programming language.
Note: A common comprehensive final exam will be given in CS-200
Programming I.
The date and time of the exam will be published in the Schedule of
Classes under Department Notes.
Students in all sections of CS-200 must attend the exam at the published day and
time.
Prereq: MATH-106 or MATH-111.
Co-req: CS 201.
CS-201 Discrete Structures, 3cr.
Introduction to fundamental number theoretic, logical,
algorithmic, combinatorics, and computational concepts
from discrete structures and their
applications to computer science. This course involves no programming. Prereq: MATH-106 or MATH-111, (NOTE, Math 251 may substitute for CS-201,
however
different prerequisites may apply). All students declaring their majors in fall-1999
or later must take CS-201 on their first semester in Computer Science department) .
CS-207 Programming II, 3cr.
This
course provides an in-depth study of the principles of structured
algorithmic processes and their program implementation. Emphasis is
given to the design of algorithms and program development (with
documentation) involving both numeric computations and string
manipulation techniques. Problems will be selected from both the
scientific and business areas. Students will become experienced in
algorithmic problem solving by designing (using pseudocode) and coding
their own program solutions.
Note: A common comprehensive final exam will be given in CS-207,
Programming II. The date and time of the exam will be published in the
Schedule of Classes under Department Notes. Students in all sections of
CS-207 must attend the exam at the published day and time.
Prereq: CS-200.
Co-Req: CS-201 .
CS-300
Client Side Web Development, 3 cr.
The course discusses web site
design issues and the requirements of e-commerce. Furthermore, it
covers the creation of web pages. Hands-on development and group
projects are an essential part of this course.
Prereq: CS-200.
CS-301 Computer
Organization with Assembly Language Programming, 3cr.
Representation of data, machine arithmetic, processor organization,
instruction execution, assembly and machine languages, addressing
mechanisms, macros, assembling, linking, loading, parameter passing and
implementation of high level language constructs. Programming will be
done using Turbo Assembler. Students will gain a vision of levels of
abstraction in hardware and software, the nature of the Von Neumann
machine and the nature of high level languages.
Prereq: CS-207, CS-201.
CS-302 Systems Programming, 3cr.
Introduction to systems programming, including use and
implementation of assembler, macros, loaders,
compilers and operating
systems.
Prereq: CS-301, CS-304, CS-308.
CS-304 Data Structures, 3cr.
This
course provides an introduction to basic data structures, their storage
implementation and applications in computer science. Students will
build upon their programming experiences from Programming II by
designing and coding programs that use these basic data structures.
Prereq: CS-207, CS-201.
CS-305 Computer Logic and circuitry, 3cr.
Introduction to logical design of computers and some of their
applications. Included are Boolean algebra, switching theory, number
systems, numerical codes, and computer organization. Engineering
problems are de-emphasized. Computer word organization, languages, and
use of computers for simple problems will be explained.
Prereq: CS-200 or equivalent introduction to Boolean algebra.
CS-307 Programming Languages, 3cr.
This
course provides an introduction to fundamental concepts of programming
languages, their structural definition and run time implementation. In
addition, it offers a description and a comparative analysis of higher
level programming languages such as ALGOL, PL/1, FORTRAN, COBOL, Pascal,
APL, LISP, SNOBOL and others.
Prereq: CS-301, CS-304.
CS-308 Operating Systems, 3cr.
A
general overview of the ideas underlying operating systems. Included
are traditional topics such as fine systems, CPU scheduling, memory
management and device scheduling, along with topics of more current
interest such as deadlock handling, process synchronization and
distributed systems. No single operating system is studied; examples
are drawn from many sources.
Prereq: CS-207, CS-301.
CS-310 Topics in Computer Science, 3cr.
Topics which may be presented
include: computer languages, new computer system and hardware
developments, and new applications of computers. Prereq:
Appropriate to content.
CS-311 Computer Architecture, 3cr.
This
course is intended for those students who wish to understand the
architecture and operation of computer systems. Methods for
interconnecting processors, memories and I/O devices are discussed. The
addressing modes and instruction techniques for manipulation of more
complex data structures such as queues, lists and trees are covered.
Prereq: CS-308, CS-301.
CS-314 Independent study in Computer Science, 3cr. An opportunity for individual research
or applications project under the direction of an advisor knowledgeable in the field of
endeavor. The project will be designed by the student and his/her project advisor and must
be approved by the chairperson of the department before project itself is undertaken.
Prereq: Consent of the instructor.
CS-315 Modern Data Base Management, 3cr.
Theoretical foundations and state-of-the-art data base management
systems. The relational, hierarchical and network approaches to data
base management systems and representative systems are described. User
interfaces are emphasized.
Prereq: CS-207,CS-201.
CS-317
Event-Driven Programming, 3cr.
This
course serves as an introduction to techniques and tools for the design
of graphical user interfaces and event-driven applications. Topics
covered include layering, domain logics, form and control basics, custom
controls, database mapping, and application embedded support. Students
will be expected to apply these concepts in programming projects.
Prereq: CS-207.
CS-319
Fundamentals of Software Engineering, 3cr.
This
course serves as an introduction to the life cycle of the software
development process. Topics covered include each phase of the
cycle, and techniques and paradigms that result in the successful
realization of each stage. Students will be expected to apply these
concepts in a large-scale project.
Prereq: CS-304.
CS-320
Object Oriented Programming, 3cr.
This
course provides an introduction to Object Oriented Design (OOD) and
Object Oriented Programming (OOP), which is a highly used contemporary
programming paradigm. The three main features of OOD, namely
encapsulation, polymorphism, and inheritance, are discussed. The
student must implement these concepts in a project. Prereq: CS-304.
CS-321
Server Side Web Development,
3cr.
This course is an introduction to
techniques and tools for designing server side web applications. Topics
covered include web applications flow, object oriented programming,
design of classes, dynamic content, scripting languages, implicit
objects, and database accessing. Students will
be
expected to apply these concepts in the development of a website.
Prereq: CS-300, CS-320.
CS-322 Statistical Computer Program Packages, 3cr.
This
course provides an in depth study of modern statistical data analysis
using such models as Binomial and Normal distribution, the Linear
Regression model, Analysis of Variance, Nonparametric methods and
Computer Random Sampling techniques using MINITAB and GPSS. In
addition, students will become experienced in the actual implementation
of statistical software packages such as MINITAB, SPSS, BMDP and SAS.
(NOTE: MATH-365 may be substituted for CS-322; however, different
prerequisites may apply.)
Prereq: CS-200, MATH-275 or equivalent.
CS-323
Cyberlaw, 3cr.
This
course presents an introduction to the legal issues relating to the use
of computers and the Internet. Topics covered include privacy, freedom
of speech, intellectual property in cyberspace, encryption and
interception of communication, computer crime, professional ethics and
codes of conduct, and work related ethical and legal issues.
Prereq: CS-207.
CS-324 Introduction to design of Algorithms, 3cr.
An
introduction to the design of algorithms. Methods for analyzing
algorithms are discussed including an introduction to asymptotic
notation. Several approaches to designing algorithms are covered using
theory, examples and problems. Those approaches include
divide-and-conquer, dynamic programming, the greedy approach,
backtracking, and branch-and-bound. Different approaches are applied to
the same problem to illuminate the relative advantages of the
approaches.
Prereq: CS-201 or MATH-251,
and CS-304.
CS-325
Automata, Languages, and Theory of Computation,
3cr.
This
course discusses several models of computation, including finite
automata, pushdown automata, and deterministic and nondeterministic
Turing machines. The notions of undecidability, computational
complexity, intractability, and NP completeness are also discussed. The
course is mainly theoretical in nature, but some applications, such as
finite state systems and parsing, will be discussed.
Prereq: CS-201 or CS-405, CS-304 or CS-407.
CS-326 Computer Use for Numerical Methods, 3cr.
An
introduction to structured Fortran programming, Computational errors,
Solving nonlinear equations, Solving sets of Equations, Determinants and
matrix inversions, Interpolating polynomials.
Prereq: CS-200,CS-201, MATH-106 or equivalent.
CS-330 Telecommunications, 3 cr.
This
course discusses the concepts and terminology of different types of data
communication, including analog and digital data, data encoding, and
data integrity. Equipment involved with telecommunications is also
covered, including processors, terminals, modems, and multiplexors, as
well as the implementation of error detection, data compression and data
encryption algorithms.
Prereq: CS-304, CS-308.
CS-331 Computer Networks, 3 cr.
This
course covers concepts in data communications, emphasizing protocols.
An overview of all protocol layers will be covered, with emphasis on OSI
and TCP/IP.
Prereq: CS-301; CS-304 or
CS-407.
CS-332
Internet Protocols,
3 cr.
This
course covers concepts related to Internet computer communication
models. After the 5-layer Internet model is discussed, the Transmission
Control Protocol along with Internet related Protocols (TPC/IP) is
presented.
Prereq: CS-331.
CS-334
Open Source Systems, 3 cr.
This
course is an introduction to the open source domain, including the Linux
operating system and other technologies. Topics covered include open
source licensing, Linux administration, and characteristics of open
source applications. Students will be expected to understand the main
concepts, and become capable of researching available resources and
participating in open source communities.
Prereq: CS-308.
CS-335 Artificial Intelligence, 3 cr.
This
course describes the kinds of problems which fall into the area of
Artificial Intelligence such as Natural Language Understanding, Vision
and Expert Systems, and what makes these problems difficult. Methods
are given which show how these problems can be given structure so that
conclusions can be drawn from the knowledge each system has available to
it, thus enabling such a system to appear to
"think"
like an intelligent human being.
Prereq: CS-304.
CS-340
Fundamentals of Computer Graphics, 3 cr.
This
course provides a unified introduction to computer graphics and computer
vision for students with an interest in imaging or digital visual arts.
Topics covered include the fundamentals of display hardware and
applications, interactive techniques and color models, 3D viewing
pipeline, 3D polygon rendering (clipping, scan conversion, and
visibility algorithms), illumination models, transparency, and
ray-tracing. The student must write programs using these
methodologies.
Prereq: CS-304, Math 110.
CS-345
Network Security, 3 cr.
This course discusses the principles and practice of network security
applications and standards that are widely used on the internet and on
corporate networks. Topics covered include cryptographic algorithms and
protocols that underlie network security applications, network security
tools, system-level security issues including the threat of intruders,
virus countermeasures, the use of firewalls and trusted systems, IP
security, electronic mail, and web security.
Prereq: CS-308.
CS-355
Cryptography, 3 cr.
This course covers cryptography and a wide range of cryptographic
applications. Theory discussed includes the design and analysis of
cryptographic algorithms such as private key and public key
cryptosystems used to secure data transmission and electronic system
communications. Cryptographic applications such as digital signatures,
entity identification, key exchange, and e-commerce transactions are
discussed.
Prereq: CS-324 or CS-404.
CS-360
Cybersecurity, 3 cr.
The basic concepts in computer security as well as the mechanisms
located at the heart of a computer system are presented. Topics covered
include privacy and personal information, computer crime, legal and
ethical issues in computer security, identification and authentication,
cryptography, operating system security, network security, World Wide
Web security, and database security. Prereq: CS-304.
CS-390 Supervised Field Study, 3 cr. (Internship)
The student completes a computer
programming project for an institution at the institution's site. The institution defines
the project which must be approved by the department of computer science for the purpose
of satisfying the course requirement. The project should take approximately 168 hours to
complete.
Prereq: at least 24 credit hours in computer science courses with average of
"B" or better, consent of sponsoring institution and consent of the department
(NOTE: CS-390 is repeatable for up to 9 credit hours, however maximum of 3 credit hours
will be considered for inclusion in CS major/minor )
CS-391 Supervised Field Study II, 3 cr.
(Internship) Same as CS-390 except the project should take
approximately 336 hours to complete.
NOTE: Maximum of 3 credit hours of internship credit will be considered for inclusion
in CS major/minor )
CS-392 Supervised Field Study III, 9 cr. (Internship) Same as CS-390 except the project
should take approximately 504 hours to complete.
NOTE: Maximum of 3 credit hours of internship credit will be considered for inclusion
in CS major/minor )
CS-400 Discrete Modeling and Analysis, 3 cr.
This course provides the necessary tools to
develop the mathematical maturity through the study of important topics such as
Combinatorial Analysis, Discrete Structures, Algorithmic Thinking and Mathematical
reasoning. Topics include Advanced Enumeration Methods,
Recurrence Relations, Graph Theory,
Automata, Formal Languages, Proof Techniques, and Probability and statistics.
Prereq: CS-304 or CS 407; CS-201
or CS 405.
CS-401 Software Engineering, 3 cr.
This course is on modern software engineering. It
covers the complete software development process such as requirement specifications,
design, coding, testing and maintenance. Various software engineering methodologies for
development of large scale quality software will be presented in this course.
Prereq: CS-304 or CS-407.
CS-402 Advanced Systems Programming, 3 cr.
Study of systems programming tools, their use and
their construction. Includes development of an integrated systems programming environment consisting of a processor simulator, an assembler, and a loader.
Prereq: CS-301; CS-304 or CS-407.
CS-403 Authoring Techniques in CAI, 3 cr.
The study of various concepts associated with
Computer Aided Instruction and Authoring. Students will develop software for instructional
purposes in their own area of interest. Languages such as PODIUM, VB, HTML,
JAVA and LOGO
writer can be used.
Prereq: Graduate standing.
CS-404 Analysis of Algorithms, 3 cr.
This
course provides various methodologies to design and analyze algorithms.
Topics include incremental, divide-and-conquer, dynamic programming,
greedy, backtracking, and branch-and-bound methodologies. Additional
topics include sorting and searching algorithms, and computational
complexity and Intractability.
Prereq: CS-304 or CS 407. Co-req: CS-400.
CS-405
Applied
Discrete Structures, 3 cr.
Applied Discrete Structures provides necessary elements of discrete
structures to study computer science at our graduate level. Topics
include Logic and Proofs, Set Theory, Number Theory, Combinatorics,
Probability, Relations and Functions, Boolean Algebra and Matrices.
(Background course; not for credit toward M.S. degree.)
Prereq: MATH-106 or equivalent.
CS-406
Object
Oriented Development, 3 cr.
This course covers the principles of computer programming using an
object oriented programming language. Students will get extensive
programming experience in designing algorithms and implementing programs
that use the fundamental constructs of an OOP language in many
application areas. (Background course; not for credit toward M.S.
degree.)
Prereq: MATH-106 or equivalent.
CS-407
Elements of Data Structures, 3 cr.
This course covers the elements of data structures and algorithms that
form the basis of all major computer science applications. Topics
include stacks, linked lists, queues, trees, graphs, heaps, recursion
and various sort and search algorithms. Students will become
experienced in the design and coding of programs that use these
structures and algorithms in a variety of applications. (M.S.
Credit in Teacher Endorsement Concentration only.)
Prereq: CS-207 or CS-406.
CS-408 Advanced Operating Systems, 3 cr.
Advanced operating system design and construction
concepts such as memory processor, process and secondary device management,
synchronization and communication, security and protection, system performance and
evaluation, network, distributed and fault-tolerant systems. Study of operating systems
highlighting these concepts.
Prereq: CS-304 or CS-407.
CS-409 Topics in Compiler Theory, 3 cr.
This
course describes the procedures used to develop a compiler for a high
level language. First a simple high level language is defined and a
simple program is written using this language. Then the concepts of a
scanner and a parser are presented and students write the software for a
scanner and a parser. Gradually, software for all phases of a compiler
is developed and by the end of the semester, every student has developed
a compiler that can produce assembly code for a microprocessor for a
program written in a predefined simple high level language.
Prereq: CS-304 or CS 407.
CS-410 Special Topics in Computer Science, 3 cr.
This course will treat a specific topic
in computer science varying from semester to semester. Topics offered will depend on
faculty and student interest.
Prereq: Graduate standing and consent of instructor.
CS-411
Professional Computing, 3 cr.
This course provides an in-depth study of the history of computing and
how computers have affected society. Furthermore, it covers the
computer skills, basic to advanced, needed to teach others to be truly
computer literate in modern society. Topics include history of
computing, the social
context of
computing, ethical issues in computing, computer security and privacy,
the impact of the internet and the World Wide Web, an introduction to
networks, an introduction to computer architecture and operating
systems, word processing, spreadsheets, and database systems.
Prereq: Graduate Standing.
CS-412
Web
Application Development, 3 cr.
This course serves as an introduction to different techniques and tools
for the design of web applications. Topics covered include web
applications flow, object oriented programming, design of classes,
dynamic content, scripting languages, implicit objects, and database
accessing. Students will be expected to understand and apply these
concepts into the generation of sample websites.
Prereq: CS-207 or CS-406.
CS-413
IT Project Management, 3 cr.
IT Project Management is the discipline that applies management
principles to the development of information system projects. It uses
techniques developed by Industrial Engineers and used by other engineers
and business managers to bring in projects within time and budget. This
course supplements Software Engineering by focusing on the management
aspects of investing in the development of information systems.
Prereq: CS-207 or CS-406; Co-req: CS-401.
CS-414 Independent Study, 3 cr.
An opportunity for advanced study under the direction of
an advisor knowledgeable in the field. The area of study will be selected by the student
and his/her advisor, and must be approved by the department chair.
Prereq: Graduate Standing and Consent of
Instructor.
CS-415 Design of Data Base Systems, 3 cr.
This
course covers various concepts associated with design and construction
of data base systems. Topics include data base architecture, relational
model, relational languages (SQL), normalization theory,
Entity-Relationship theory and physical data base design. Students will
develop a simple data base system.
Prereq: CS-207 or CS-406.
CS-416
Artificial Intelligence and Robotics, 3 cr.
This course serves as an introduction to aspects of Artificial
Intelligence applied to the robotics field. Students will learn
different techniques to approach problems using simple robotics.
Students will be expected to understand the main concepts, research for
available resources, and participate in projects where these concepts
will be applied.
Prereq: CS-304 or CS-407.
CS-417
Video
Game Programming, 3 cr.
The aim of this course is to explore the basics behind game programming
and the gaming industry, including elements of computer graphics and
computer vision as well as advanced stereoscopic computer applications.
Following the nature of computer/video games development as a team
effort, for this course, we shall design and implement one large class
project for a game prototype as a team.
Prereq: CS-304 or CS-407.
CS-419
Informatics, 3 cr.
Informatics is the discipline that applies the methodologies of science
and engineering to information. It concerns organizing data into
information, learning knowledge from information, learning new
information from knowledge, and making decisions based on the knowledge
and information learned. This course concerns computational methods for
analyzing data and processing information in applications to business
decisions.
Prereq: CS-400; CS-304 or CS-407; ECON-220 or
MATH-275 or their equivalent.
CS-420
Object
Oriented Design, 3 cr.
This course provides students with a solid foundation in object oriented
design (OOD) and programming (OOP), a contemporary and highly used
programming paradigm. OOD involves the presentation of three main
concepts: encapsulation, polymorphism, and inheritance. These concepts
and implementation techniques are presented in an object oriented
programming language and students become experience in OOD projects.
Prereq: CS-304 or CS-407.
CS-426
Exploring Numerical Methods, 3 cr.
This course covers the elements of the design and analysis of numerical
methods. Topics include errors in numerical methods, floating-point and
interval arithmetic, measuring the efficiency of numerical methods,
interpolation and curve fitting, numerical differentiation, numerical
integration, and numerical optimization.
Prereq: CS-200 or CS 406; MATH-203.
CS-430 Queueing Theory in Communication Networks, 3 cr. Queueing Systems, Birth and Death
models, Markovian Queues, The M/G/1 model, Earlang's equation,
Models of computer and
telecommunication systems.
Prereq: CS-304 or CS-407.
CS-431 Digital Telephony, 3 cr.
Advantages over analog telephony, voice
digitalization, digital transmission and multiplexing, switching, networks
(synchronization,
control and management), traffic analysis terrestrial vs. satellite.
Prereq: CS-304 or CS-407; CS-330.
CS-435 Expert Systems, 3 cr.
An expert system is a program that is capable of
making the judgments and decisions of an expert. An example of an
expert system is a program that does medical diagnosis. This
course covers methods for designing expert systems and for reasoning
using expert systems.
Prereq: CS-304 or 407; CS-400.
CS-440 Computer Graphics, 3 cr.
Graphics Hardware. Scaling and data charting.
Representation of two dimensional objects , Translation and rotation of objects. Two
dimensional line clipping. 3-D object representation.
Perspective in 3-D object
representation. Line clipping and hidden line face removal in 3-D. Efficiency
consideration in hidden line and face removal. Lighting and shading. Reflections and
shadows, transparent and translucent surfaces. Interactive graphics and associated
hardware and software. Software for event handling and device sampling. The light pen with
locator pick problems and echoing.
Prereq: CS-304 or 407; CS-400.
CS-442 Topics in Network Design, 3 cr.
Protocols for computer networks. Performance
requirements, evaluation and analysis. Case studies of actual networks.
Prereq:
Graduate Standing.
CS-450
Advanced Computer Architecture, 3 cr. Computer system structure and design issues
such as ALU design, arithmetic algorithms, memory hierarchy, control,
microprogramming,
instruction sets, addressing and I/O. Comparison of specific examples of computer models
and selected topics in parallel processors.
Prereq: CS-301; CS-308 or CS-408; CS-311
CS-455
Cyber Risk Management, 3 cr.
This course teaches students the principles of managing risk as it
relates to information security in an organization engaged in computing
and internet operations. Students will be able to use their knowledge
of security and privacy issues to develop tools for analyzing and
managing cyber risk and creating a policy framework for information
security.
Prereq: CS-201 or CS-405; CS-207 or CS-406.
CS-460 Computer Security, 3 cr.
Study of existing hardware and software techniques for
implementing security. Passwords, encryptions and authorization schemes. Special security
problems presented by distributed and network environment.
Prereq: CS-304 or 407; CS-400.
CS-470 Pattern
Recognition, 3 cr.
Statistical and semantical methods of pattern
recognition. Image processing with industrial and commercial applications. Applications
to sound and visual identification problems.
Prereq: CS-409 or Consent of Instructor.
CS-490 Master's Project, 3 cr.
The completion of a large scale software project and
associated documentation or thesis. Topic for project is chosen in conjunction with
project advisor.
Prereq: 30 hours of graduate credits.
CS-495 Master's Thesis, 6 cr.
Student conducts research and writes a thesis in Computer
Science. This is an alternative to CS-490 for those students who want to pursue a more
ambitious project.
Prereq: 30 hours of graduate credits.
|