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.
Course Notes: Math 245 with min grade C- required.
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.
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.
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.
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.
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.
Course Notes: CST 280 with a min grade of C- required.
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.
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.
CST 423 - COOPERATION AND COMPETITON -- GAME THEORY AND APPLICATIONS
DocuSign Envelope ID: 7B91A8E2-EDB7-4682-B3D8-0B6F598440E4 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.
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.
Course Notes: Math 122 with a min grade C- required.
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.
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.
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.
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.
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.
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.
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.
Course Notes: Cst 250 or Cst 365 with a min grade C- required.
CST 460 - INFORMATION SECURITY
Covers current topics in Information Security.
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.
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.
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.
CST 467 - WEB-BASE DATABASE APPLICATIONS
Interactive web-based applications that use one or several databases. Theoretical and project oriented.
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
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.
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.
Course Notes: CST 250 with a min grade C-.
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.
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 .
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.
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.
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.
CST 485 - THESIS/PROJECT RESEARCH
Planning and implementation of research component of student's MS thesis or project.
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.
CST 490 - MASTERS THESIS
Completion of the MS thesis.
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.
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.
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.
Course Notes: Consent of advisor and Dept. Chair.
CST 499 - MASTERS PROJECT
Completion of the MS project.
Prerequisites: CST 485
Course Notes: Approval of CST faculty sponsor and Dept. Chair.
CST 499Y - MASTERS PROJECT COMPLETION
Continuation of the CST Masters Project.
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