COMPUTER SCI & INFO TECHNOLOGY (CST)

CST 401 - WEB SEARCH

Methods and techniques used to search the Web, including classics such as Google's ranking algorithm and other more recent methods such as decentralized search. Topics also include related techniques from data mining, e-commerce, and other areas. Main focus is to highlight new algorithmic ideas that can be useful for many different applications.

Credits: 3

Course Notes: Math 245 with min grade C- required.

CST 403 - COMPUTER NETWORKING

This is an introductory course on the design and analysis of computer networks. It covers Internet protocols, application layer protocols, routing, wireless communication, and basic network security problems.

Credits: 3

Course Notes: CST/CSIA 250 OR 236 REQUIRED, RMEC students only.

CST 405 - ALGORITHM DESIGN

The main purpose of the course is to enhance students’ algorithmic skills. Algorithmic problems, arising across the full range of computing applications, include the following two tasks. First, such a problem rarely arrives as a cleanly packaged, mathematically precise question. Therefore, we begin an algorithm design process with getting to a clean formulation of the problem. Then, based on the structure of the problem, we identify an appropriate algorithmic technique and use it to develop an efficient algorithm. Students will enhance their skills for both tasks by learning a wide variety of algorithmic problems in business, engineering, science, etc.

Credits: 3

Course Notes: Cst 280 and Math 245 both with a min grade C- required.

CST 406 - BIG DATA

Coverage of approaches and methods for very large-scale data collections (Big Data). Also covers the place of Big Data in society and in business including economic, social, ethical and cultural implications. Students will learn to use map-reduce workflows and Big Data tools such as the Hadoop ecosphere.

Credits: 3

Course Notes: Prerequisites: CST 250 or CST 365, or consent.

CST 408 - ADVANCED ALGORITHMS

Algorithms ubiquitous in a wide variety of applications. Emphasis on algorithms for computationally hard problems. Methods of coping with hardness. A computer use course.

Credits: 3

Course Notes: CST 280 with a min grade of C- or concurrent.

CST 411 - INTELLIGENCE SYSTEMS

We study automated search methods in constrained state spaces. We learn methods of blind, heuristic and local search and methods that involve applications of of mathematical logic. We proceed to solving constraint satisfaction problems, planning and scheduling. Applications to multiagent systems and robotics. The course has programming component. Coursework includes an independent study component where students learn advanced topics in artificial intelligence.

Credits: 3

CST 412 - THEORY OF COMPUTATION

Fundamentals of computing with emphasis on questions of what can and cannot be computed in principle, what can and cannot be computed efficiently. Course topics include models of computation, decidable and undecidable problems, computational complexity, probabilistic computation, interactive protocols, quantum computation, etc. Coursework includes an independent study component where students learn advanced topics in theory of computation.

Credits: 3

Course Notes: CST 280 with a min grade of C- required.

CST 414 - IT MANAGEMENT

The purpose of this class is to introduce the student to various topics concerning the job of the IT Manager. The goal of this course is to make you a more knowledgeable IT person who can better understand the roles and functions of the IT Manger in both small and large scale companies. For those of you who might wish to someday fill this role it is a way to learn the concepts before you find yourself in this positon. And for those of you who do not seek this position, it will give you a better idea on how to relate to and understand the IT Manager.

Credits: 3

Course Notes: For RMEC students only.

CST 415 - PARALLEL SYS & HIGH PERFORMANCE COMPUTING

Parallel architectures, present and future; performance criteria and measures; benchmarks; limitations and scalability; the future of high performance computing.

Credits: 3

Course Notes: Cst 280 with a min grade C- required.

CST 421 - DATA MINING

Methods of knowledge discovery in massive datasets. i.e.the study We study of computer-assisted process of digging through and analyzing enormous data sets and then extracting the ‘meaning’ of the data by applying mathematical methods. The methods that we study in this course are designed to predict behaviors and future trends based on existing data. Topics include classifications techniques, clusterization techniques, association rule discovery techniques, techniques for improving data quality. techniques for improving data quality, classifications techniques, and clusterization methods. The course has programming component. Coursework includes an independent study component where students learn advanced topics in data mining.

Credits: 3

Course Notes: Prerequisites: MATH 246 and (MATH, 217 or MATH 347 or ACSC 300 or ACSC, 347 or ECON 234) and CST 150.

CST 423 - COOPERATION AND COMPETITON -- GAME THEORY AND APPLICATIONS

Study of the ways in which strategic interactions among players produce outcomes with respect to their preferences (or utilities). This course covers game-theoretic foundations of cooperative and non-cooperative behavior. The course emphasizes applications drawn from artificial intelligence, decision theory, economics, psychology, and finance. Coursework includes an independent study component where students learn advanced topics in game theory.

Credits: 3

Course Notes: A grade of C- or better in Math/ASCS 300,, and in Math 245 or Math 290, or Math 217, or Math 238,, or Math 347.

CST 428 - LINEAR PROGRAM & OPTIMIZATIONS

Models of optimization with linear constraints and objectives; simplex method and related algorithms; duality and sensitivity; transportation and assignment problems; games and network flow applications. See also Math 428.

Credits: 3

Course Notes: Math 122 with a min grade C- required.

CST 435 - ETHICAL HACKING & COUNTERMEASU

This is a hands-on Cyber Security course that will prepare students for the Certified Ethical Hacker certification. The course is an introduction to ethical hacking tools and incident handling. Areas of instruction include various security tools and vulnerabilities of operating systems, software and networks used by different type of hackers to access unauthorized information. This course also addresses incident handling techniques used when information security is compromised.

Credits: 3

Course Notes: CST 150 and MATH 116 or MATH 121 are required., For RMEC students only.

CST 436 - COMPUTING WITH DATA IN PYTHON

Focuses on using a simple programming language python to work with data when Excel, SPSS and similar tools are not adequate. When tables are too big or the desired result is difficult or impossible to express in terms of formulas, using python can be the quickest, easiest and most productive way to derive value from data in a scientific or enterprise setting. This course provides the skills and understanding required to succeed in these situations.

Credits: 3

Course Notes: Computer programming experience not required., One math class at 1xx or higher

CST 440 - COMPUTER ARCHITECTURE

Internal organization of the components of computer systems with special focus on the design and implementation of the central processing unit and the internal hardware and software structure of a CPU that is normally hidden from the programmers using a high level language. Topics will include combinatorial and sequential circuits, adders, shift registers, computer logic and arithmetic, encoders, decoders, flip-flops latches, gates and Boolean algebra. Advanced topics include busses, ALU's, memory, cache.

Credits: 3

Course Notes: CST 150 with a min grade of C- required.

CST 444 - O.O.P & WEB SERVICES

An intensive course in programming emphasizing the development of reusable software components via the object oriented programming (OOP) capabilities of C#. Topics include user interface controls, exception handling, classes, function overloading and default arguments, operator overloading, event-driven programming, polymorphism and UML. Extensive programming required.

Credits: 3

Course Notes: CST 250 with a min grade C-or CST 365 with a min grade C-, required.

CST 449 - ADVANCED COMPUTER ARCHITECTURE

This course covers instruction set architecture, data path and control unit design, advanced computer arithmetic, pipelining, memory hierarchy and I/O subsystem, performance issues.

Credits: 3

Prerequisites: CST 261 or CST 317

CST 450 - BOOLEAN ALGEBRA & SWITCHING

Logic gates and Boolean algebras. Fundamental building blocks: flip-flops, counters and registers. Logic expressions, minimization. Digital arithmetic. See also Math 450.

Credits: 3

Course Notes: Math 245 or MATH 290 with a min grade C- required.

CST 455 - GRADUATE SEMINAR

Course content varies. Study of the current state of research in a designated area of the computer science. A faculty member introduces initial study of the fundamentals, followed by the study of recent publications chosen by a faculty member.

Credits: 3

CST 457 - SYSTEMS PROGRAMMING

Introduction to programming at the system level. Programming methods and issues which are specific to working with the operating system. Topics include process, thread model, synchronous and asynchronous event handling, IPC, RPCs and sockets, and distributed applications. Course includes learning to program with JAVA in UNIX and Windows environments. A computer use course.

Credits: 3

Course Notes: Cst 250 or Cst 365 with a min grade C- required.

CST 460 - INFORMATION SECURITY

Covers current topics in Information Security.

Credits: 3

CST 461 - MACHINE LEARNING

A graduate course in the theory, algorithms and applications of Machine Learning (ML) and the analysis of algorithms by which computational systems learn to perform tasks. Implementation of several ML techniques will enhance the student's understanding of the underlying material.

Credits: 3

CST 465 - NETWORK APPLICATIONS DEVELOPMENT

Design and programming applications for networks and the World Wide Web; client side and server side processing; the use of a web browser as a client and user interface. Internet protocols such as https, ftp, and ssl and issues such as security, reliability, and management. Course includes programming with JAVA in UNIX and Windows environments. A computer use course.

Credits: 3

Course Notes: CST 150 with a min grade of C-.

CST 466 - CRYPTOGRAPHY

Cryptography provides algorithms and protocols for secure communication over an insecure channel. These tools are also used in many other aspects of information security such as access control or digital signature. Cryptography plays a crucial role in a wide scope of real-world applications, from the classical military and national security applications to email and online banking. The course focuses on concepts and techniques underlying public-key cryptography. Course topics include symmetric cryptosystems, RSA and other public-key cryptosystems, digital signatures, key exchange protocols, secret sharing, identification schemes, etc. Coursework includes an independent study component where students learn advanced topics in cryptography.

Credits: 3

Course Notes: CST 150 and MATH 245 with min. grade of C-, or consent of the instructor.

CST 467 - WEB-BASE DATABASE APPLICATIONS

Interactive web-based applications that use one or several databases. Theoretical and project oriented.

Credits: 3

Course Notes: Any 200 level programming course with a min grade C- or, CST 333 and CST 365 or CST 250 with a min grade C-.

CST 468 - INTERNET SECURITY

An in-depth study of Internet security focused on contemporary threats and countermeasures. A number of threats will be discussed including protocol vulnerabilities, denial of service attacks, malware, and other readily available hacking tools. The security mechanisms used to thwart these threats include firewalls, proxy servers, and other security techniques and tools

Credits: 3

Course Notes: Must have one course in Data Communication with a C- or, higher or instructor's consent.

CST 471 - DISTRIBUTED DATABASES

Use of multiple, physically and logically separate databases. Data modeling, horizontal and vertical fragmentation, distributed query processing, concurrency, deadlocks, and recovery techniques. Heterogeneous and object-oriented databases. Functional languages like LISP and ML are studied as well as logic programming.

Credits: 3

Course Notes: 9 Credit Hours of Computer Sci. Min grade, of C- required in prerequisite work.

CST 472 - PROGRAMMING LANGUAGES

Global properties of algorithmic languages including scope of declarations, storage allocation, binding time of constituents, subroutines, and tasks. List processing, string manipulation, data description, and simulation languages.

Credits: 3

Course Notes: CST 250 with a min grade C-.

CST 475 - COMPUTER FORENSICS

An introduction to the procedures and techniques used to identify, extract, validate, document and preserve electronic evidence. General legal issues such as the proper handling of evidence, chain of custody, and admissibility in court also covered. See also ACCT 475.

Credits: 3

Course Notes: Ability to download, install, and use basic computer, applications software is assumed.

CST 476 - DISTRIBUTED APPLICATIONS

Advanced topics in web programming and network applications. Use of existing protocols such as HTTP and FTP as well as technologies for designing custom protocols; chat, instant messaging, file sharing, and other technologies. Course includes programming with JAVA in UNIX and Windows environments. A computer use course.

Credits: 3

Course Notes: or any 200 level programming course or Cst 250 with a min, grade C-or Cst 365 with a min grade C-.

CST 478 - PATTERN RECOGNITION

We study algorithmic methods of identifying patterns and regularities in data. Different approaches are based on statistical, structural and template matching methods data analysis. Coursework includes an independent study component where students learn advanced topics in pattern recognition .

Credits: 3

Course Notes: Cst 280, MATH 246, and Math 217 with a min grade, C- required.

CST 480 - SPECIAL TOPICS

Course content varies. May be repeated for credit with different topics.

Credits: 1-3

CST 481 - INTELLIGENT SYSTEMS

Advanced problems of programming computers to perform tasks commonly regarded as requiring human intelligence. The cognitive aspects of human intelligence will be covered. Introduction to a functional decision language such as LISP or Prolog.

Credits: 3

Course Notes: CST 250 or 365 both with a min grade C- required.

CST 482 - COMPUTER GRAPHICS

Representation, manipulation, and display of two- and three- dimensional objects. Applications to specific problems, including computer games. OpenGL will be taught.

Credits: 3

Course Notes: Instructor consent or CST 250 and MATH 245 with a, min grade C- required.

CST 485 - THESIS/PROJECT RESEARCH

Planning and implementation of research component of student's MS thesis or project.

Credits: 3,6

Course Notes: Approval of CST thesis sponsor and Dept. Chair required., Must be taken in a semester prior to either CST 490 or, CST 499.

CST 486 - INFORMATION RETRIEVAL

Theory and practice of information retrieval with emphasis on applications to web search. The course covers traditional information retrieval topics (retrieval models, indexing, classification, clustering, ranking of web pages, etc.) and more recent topics (such as interactions between information retrieval and natural language processing). The course has programming component. Coursework includes an independent study component where students learn advanced topics in information retrieval.

Credits: 3

Prerequisites: CST 280 or (CST 150 and CST 333)

Course Notes: CST 280 with min grade C- or CST250 and CST 333 both with a, min grade of C-.

CST 487 - SPECIAL TOPICS

Credits: 3

CST 490 - MASTERS THESIS

Completion of the MS thesis.

Credits: 3

Prerequisites: CST 485

Course Notes: Approval of CST faculty sponsor and Dept. Chair.

CST 490Y - MASTERS THESIS COMPLETION

Continuation of the CST Master's Thesis.

Credits: 0

Prerequisites: CST 485

Course Notes: Approval of CST faculty sponsor and Dept. Chair. Students, must register for this course if they fail to meet deadlines, for completion of CST 490.

CST 494 - INTERNSHIP: COMPUTER SCIENCE

Advanced in-service learning under faculty supervision.

Credits: 1-3

Course Notes: Consent of Faculty Supervisor required

CST 495 - INDEPENDENT STUDY

Study conducted under the guidance of appropriate faculty member. Proposal must state purpose of study, problem, methods, and means of evaluation.

Credits: 1-3

Course Notes: Consent of advisor and Dept. Chair.

CST 499 - MASTERS PROJECT

Completion of the MS project.

Credits: 3

Prerequisites: CST 485

Course Notes: Approval of CST faculty sponsor and Dept. Chair.

CST 499Y - MASTERS PROJECT COMPLETION

Continuation of the CST Masters Project.

Credits: 0

Prerequisites: CST 485

Course Notes: Approval of CST faculty sponsor and Dept. Chair. Students, must register for this course if they fail to meet deadlines, for completion of CST 499.

CST 500 - FND COMPUTING

FND COMPUTING

Credits: 3