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 402 - CLOUD COMPUTING & RICH WEB APPLICATIONS

A rapidly evolving set of topics centered around Rich Web Applications and Cloud Computing, especially from a technical and societal perspective.

Credits: 3

Course Notes: A computer use course. Cst 280 with min grade C- required.

CST 405 - ALGORITHM DESIGN

Design and analysis of polynomial-time algorithms and supporting data structures. Applications are in networking, systems programming, database design, and other applications. Topics include minimum spanning tree algorithms and their fast implementation with Fibonacci heaps and Disjoint Sets data structures, shortest path algorithms, flow networks, linear programming. Proving correctness and worst case runtime analysis of algorithms. A computer use course.

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 MATH 231 or MATH 245 or, (MATH 121 and ECON 234) with a min, grade of C-.

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 410 - FORMAL LANGUAGES AND AUTOMATA

Finite automata and regular languages. Push-down automata and context-free languages. Turing machines and models of computations . See also Math 410.

Credits: 3

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

CST 411 - SEMINAR IN ARTIFICIAL INTELLIGENCE

New developments in Artificial Intelligence (AI) such as multi-agent decision making, inference in the presence of uncertainty, constraint satisfaction, etc. The course has a seminar format: students will be asked to read, analyze and present papers.

Credits: 3

CST 412 - SEMINAR IN THEORY OF COMPUTATION

Recent developments in foundations of computing, new computing paradigms and applications, analysis of algorithms for emerging areas of computer science. Examples of course topics include algorithms for social networking, algorithms of computer learning, computational economics, new CS paradigms of measure and conquer, inclusion/exclusion, and sieve design. The course has a seminar format: students will be asked to read, analyze and present papers.

Credits: 3

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

CST 413 - SEMINAR: INFORMATION IN SOCIETY

Focuses on the design and use of collaborative technologies to communicate, share information and coordinate activities. Emphasis will be on the behavioral and social aspects of adopting and using collaborative technologies. However, Computer-Supported Cooperative Work (CSCW) is a socio-technical discipline and the course will cover some technical material. The course includes a discipline overview and history as well as a range of selected topics.

Credits: 3

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 data, i.e. the 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.

Credits: 3

Prerequisites: MATH 246 and (MATH 217 or ACSC 300 or ACSC 347 or ECON 234 or MATH 347)

Course Notes: Prerequisites: Math/ASCS 300with a min grade of C- and, (Math 217 or Econ 234 or Math 347 or ACSC 347, with a min grade of C-).

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

Study of the ways in which strategic interactions among autonomous agents produce outcomes with respect to the preferences (or utilities) of those agents. This course covers game-theoretic foundations of cooperative and non-cooperative behavior of independent agents. The course emphasizes applications drawn from artificial intelligence, decision theory, economics, psychology, business management and finance.

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 430 - NUMERICAL ANALYSIS

Solution of equations by iteration; interpolation; numerical differentiation and integration; numerical solutions to linear systems. A computer use course. See also Math 430.

Credits: 3

Prerequisites: CST 150 and MATH 232 and MATH 300

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 442 - SATELLITE COMMUNICATIONS

The student will become aware of the history and evolution of radio communications and the technological and economic advantages and problems with satellite communications. This will be demonstrated by the students through examinations, reports and class discussion and lab projects. Topics include radio communications, path loss, antennas, orbit calculations and tracking and radio bands.

Credits: 3

Course Notes: CST 246 with a min grade C- or CST 250 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 446 - CODING THEORY

Various techniques for developing and implementing codes that can be used to reliably transmit data in the presence of noise. Topics include Hamming codes, error detection and correction mechanisms, linear codes, and cyclic codes.

Credits: 3

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

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 451 - BIOINFORMATICS

Methods for finding biological and biotechnological information. Online and hard copy methods with an emphasis on the use of various computer databases and the Internet. Basic algorithms will be covered. See also BIOL 461.

Credits: 3

Course Notes: Biol 301 with a min grade C- or instructor consent required.

CST 454 - LOCAL AREA NETWORKS

A practical examination of network topologies, protocols, and operating systems such as Windows NT, UNIX, and NetWare. The OSI 7 layer network model is covered, along with packet switching, text compression, TCP/IP and file transfer protocols. Hands-on network lab experience included.

Credits: 3

Prerequisites: CST 246

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

Prerequisites: CST 280

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

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 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

Tools and techniques used to secure communications. Topics include data encryption, public and private keys, user authentication techniques and access controls. DES, AES and trap door algorithms will be covered.

Credits: 3

Course Notes: One course in Data Communications with a C-or, higher or instructor's consent required.

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

Statistical and semantical methods of pattern recognition and analysis. Image processing, control, decision making, and problem solving by computer.

Credits: 3

Course Notes: Cst 280 with a min grade C- 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. Focus on traditional information retrieval topics (retrieval models, indexing, classification, clustering, etc.) and more recent techniques (ranking of web pages, recommender systems, etc.).

Credits: 3

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

CST 489 - SPECIAL TOPICS: COMPLEXITY/DECIDABILITY

Credits: 3

Course Notes: MATH 217 with a min grade of C- or ( ACSC 347 with a min, grade of C- or MATH 347 with a min grade of C-), or Consent of Instructor. Course requires MATLAB, (a mathematical software package). MATLAB is available, on all campus labs (Auditorium, Gage, and Schaumburg)., Students who cannot access the software on campus will, need to purchase a student version, of MATLAB (approximately $99).

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: 2,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.