CS 500 Introduction to Structured Programming 3 CH
This is an introductory course in computer programming using a structured programming language. Representative topics include: iteration, selection, procedures, functions, arrays and packages.
CS 501 Introduction to Data Structures 3 CH
Prerequisite: CS 500 or CS 111 Introduction to Structured Programming or equivalent. A continuation of CS 500 utilizing a structured programming language to further implement multidimensional arrays and other data structures including: linked lists, stacks, queues, trees, etc. Also provides introduction to recursion and data abstraction.
CS 502 C: Advanced Programming 3 CH
Prerequisite: CS 501, CS112 or equivalent. Discusses advanced programming techniques with an emphasis on mathematical and scientific programming applications. Topics include: recursion, pointers and some advanced data structures. C language is introduced in this course.
CS 550 Dynamic Web Page Development 3 CH
Prerequisite: CS 500. This course enables students to develop low-bandwidth visual effects for web pages. A variety of software will be employed to develop web sites and media for the web. Topics include: (1) web animation and interactivity using Macromedia Flash®, (2) vector-based graphic construction and digital comptession using Macromedia Fireworks®, a graphic optimizing tool, and (3) dynamic web page construction using Macromedia Dreamweaver®, a visual HTML editor.
CS 551 Introduction to Object-Oriented Programming with Java 3 CH
Prerequisite: CS 501. Introduction to fundamental concepts of object-oriented analysis (OOA), design (OOD) and programming (OOP), and how object-oriented languages differ from procedural languages. Notation is used to teach the concepts of abstraction, encapsulation, modularity, hierarchy and polymorphism. This course is designed for both programmers and analysts. Java is used to implement these objected-oriented concepts.
CS 552 Windows Interface Design (Visual Basic) 3 CH
Prerequisite: CS 501 This course introduces the fundamentals of writing Windows applications, event-driven programming and the GUI. Topics include: dialogues, menus, controls, data types, scope and life of variables, objects and instances, fonts and graphics, simple file I/O and other DLL procedures. VB.NET will be used in implementing various Windows applications.
CS 553 Web Design with Java Script 3 CH
Prerequisite: CS 500 This course shows how to embed Java “applets” into HTML pages, as well as create applets. The course covers the Java applet paradigm and the standard Java-class libraries. Students write Java applets, stand-alone applications, Native Libraries and content/protocol handlers for extending web browsers.
CS 554 Fundamentals of Interactive Multimedia 3 CH
Prerequisite: CS 500 Using Macromedia Director® students develop multimedia applications of their own design. This course explores principles for effective interactive multimedia design from concept definition, storyboarding, multimedia development and authoring to testing and revision. It will cover techniques to include sound, graphics, photographs, animation, video and text into multimedia presentations. Macromedia Director movies will be developed for use in authoring applications such as business presentations, interactive kiosks, CD-ROMs and Shockwave movies for the web.
CS 555 Advanced Scripting with Interactive Multimedia 3 CH
Prerequisites: CS 501 and CS554 This advanced multimedia development course explores program control for effective design and delivery of interactive multimedia applications. Students will learn how to use Director's® full-feature scripting language "Lingo" to develop the interactivity and program control of multimedia projects. Xobjects, special code segments that control external devices, will also covered.
CS 557 Web Programming with ASP 3 CH
Prerequisites: CS 550 & CS 552 This course covers Active Server Pages and how they allow for powerful web site creation by combining program code with standard HTML. The class is presented in a tutorial style that focuses on both theory and application. The student will successfully learn how program using Visual Basic Script, the most commonly used ASP programming language. The class will also cover other relevant topics such as integrating databases with a website and effective site functionality.
CS 560 Networking Applications 3 CH
Prerequisite:CS 621 Principles of Data Communications. This hands-on course provides an in-depth introduction to IP addressing, TCP/IP, routing of IP packets, internet protocol, TCP, DHCP, DNS, network management and a brief introduction to network security including the use of firewalls, proxy servers and footprint analysis.
CS 561 Multimedia Authoring (Authorware) 3 CH
Prerequisite: CS 500 This authoring course covers design and delivery of interactive multimedia using an icon-based product. Students use the authoring tool Authorware® to develop a variety projects: CBT, interactive kiosks, performance support applications, interactive magazines and catalogs, educational games and interactive education and information that can be delivered over intranets.
CS 601 Assembly Language Programming and Computer Systems 3 CH
Prerequisite:CS 501 or CS 502 or CS 211 Programming concepts at the inter of hardware and software: addressing, instructions, symbol tables, linkage, registers, ALU and CPU, anatomy of an assembler, relocatable code, macros, interrupts and debuggers.
CS 602 Advanced Data Structures and Algorithms 3 CH
Prerequisites: CS 501 & CS 502 or CS 211 & MT 151 Explores the relationship between data structures and algorithms with a focus on space and time efficiency: review of recursion, data abstraction and complexity analysis, multilists, trees (including balanced binary trees, n-ary trees and B-trees), hash tables, external sorting, graphs and algorithm design techniques.
CS 603 Advanced Database Systems 3 CH
Prerequisite: CS 501 or CS 502 Goals and techniques in the design, implementation and maintenance of large database management systems: physical and logical organization, file structures, indexing, entity relationship model, hierarchical, network and relational models, normalization, query languages and database logic.
CS 604 Advanced Software Engineering 3 CH
Prerequisite: CS 501 or CS 502 Models and metrics for software engineering in the large: review of software life cycle models, software modeling tools, design and analysis of software subsystems, management of software projects, test plans, configuration control, reliability and metrics.
CS 605 Discrete Structures and Logic 3 CH
Prerequisites: CS 501 & MT 151 Mmathematical concepts and foundations of logic for computer science: review of sets, relations and functions, Boolean algebras, graphs, etc., propositional and predicate logic; notions of logical consequence and provability; soundness and completeness of inference methods; resolution; unification; and introduction to theorem proving.
CS 611 Operating/Multiprogramming Systems 3 CH
Prerequisite: CS 501 or CS 502 Management of resources in a multi-user system: memory allocation and management, process scheduling, protection, concepts of concurrent processes, study of different operating systems and multiprocessing.
CS 613 Structure of Programming Languages 3 CH
Prerequisite: CS 602 Syntax and semantics of programming languages including: an introduction to theory of languages and grammars; concepts of design and implementation of programming languages; and the comparison of different language paradigms such as imperative, functional, logic and object-oriented.
CS 614 Theory of Computation 3 CH
Prerequisite: permission of the instructor. The theory of the power and limitations of computation and computers: Turing machines, recursive and recursively enumerable functions, equivalence of computing paradigms (Church-Turing thesis), undecidability, intractability and introduction to NP-completeness.
CS 615 Unix Administration
Prerequisite: This course discusses main issues of Unix OS programming and administration. In particular, it explores a popular Unix text editor Emacs, Unix file system, process manipulation, regular expressions and their use, filters, and system administration and security.
CS 620 Information Analysis and System Design 3 CH
Prerequisite: CS 501 Design, analysis and management of information systems: system life-cycle management, hardware and software selection and evaluation, role of information systems in decision support and other functional areas of business, project management, systems development and analysis, module design and techniques to reduce system complexity.
CS 621 Principles of Data Communication 3 CH
Prerequisite: CS 501. Survey of modern data communication techniques, including: data communication and local networking, hardware such as terminals, modems, multiplexors, nodal and host processor architecture, packet switching, network control, protocols, software, and management and security.
CS 622 Network Security I 3 CH
Prerequisite: CS 602 or CS 603. Techniques for information storage and retrieval: database concepts, organization of file structures, inverted indexes, transition from databases through knowledge bases to text bases, text retrieval concepts, controlled vocabularies, text-based retrieval techniques (the Bayesian method, vector space and network models, metrics: precision, recall, and trends in information retrieval).
CS 623 Advanced Network Security 3 CH
Prerequisite: MT 151 or equivalent. Methodology of operations research and related mathematical techniques: overview of probability theory, linear programming, integer programming, dynamic programming, assignment problems, duality theorem, network theory and scheduling.
CS 624 Hands-On Network Security 3 CH
Prerequisites: CS 621, 622. Designed for IT graduate students, this course uses VMWare of Connectix Virtual PC to simulate different environments. It examines networking security topics, firewalls (using Linux), packet filters, NAT, PAT, socks and HTTP proxies; public key infrastructure (using Microsoft Certification Server), encryption algorithms, decrypting passwords, dictionary decryption, brute force decryption, certificate servers; and vulnerability assessment, identifying security holes, forensics, tracing, log analysis, Layer 5 vulnerabilities (Services/Daemons and OS), identifying denial of service attack (simulation), identifying a virus/work attack (simulation), packet monitoring (sniffing).
CS 625 Cryptography 3 CH
Prerequisites: CS 622 Network Security I or permission of the instructor. Designed for CS graduate students, the course covers theoretical and practical aspects of modern applied computer cryptography. Topics include: block and stream ciphers; hash functions, data authentication, and identification; and digital signatures. Special emphasis is given to public-key cryptosystems. The course includes implementation of various encryption algorithms in different programming systems.
CS 631 Data Warehousing 3 CH
Prerequisites: CS 603 This course will provide a comprehensive review of Data Warehousing technology. Areas of study include the evolution of the modern-day data warehouse, analysis and collection of business data requirements, dimensional modeling, the loading of data using Extration, Transformation, and Loading (ETL) processes, data quility issues, and reporting from the data warehouse using SQL and Online Analytical Processing (OLAP) techniques. Several Oracle lab experiments will be conducted to profice hands-on experience in the areas of data warehouse design, construction, data loading, and essential reporting techniques.
CS 633 Advanced Database Topics 3 CH
Prerequisites: CS 603. This course will provide students with an advanced understanding of database technology. In addition to the entity-relationship model, alternate database models (such as EAV and OOD) will be investigated. Possible topics include indexing, optimization, XML, on-line analytic processing (OLAP), embedded SQL, locking techniques and parallel and distributed systems. The specific topics covered and focus of this course will change to reflect modern trends and the latest technology.
CS 633 Advanced Database Programming 3 CH
Prerequisites: CS 603. This course will provide students with a thorough understanding of database programming. Students will use the latest technology to create front end applications to hit large-scale backend databases. SQL and stored procedures will be used to retrieve data from various data stores. An emphasis will be placed on a layered approach to programming. User friendly design principles and business logic will be used to teach studetns how to implement large-scale Windows and/or Web applications. The specific technology used in this course will vary to reflect current trends in database programming technology.
CS 640 Special Topics in Computer Science 3 CH
Prerequisites: As determined at the time of course offering. One-time and first-time offerings of courses on current topics.
CS 642 Artificial Intelligence 3 CH
Prerequisite: CS 602 Advanced Data Structures and Algorithms. Examines the essentials of artificial intelligence (AI): definition of AI; heuristic, adversary and other search methods for problem solving and games; principles of knowledge representation; AI languages; and survey of applications.
CS 644 Compiler Design 3 CH
Prerequisite: CS 220 or CS 602 or equivalent. Essentials of artificial intelligence (AI); definition of AI; heuristic, adversary and other search methods for problem solving and games; principles of knowledge representation; AI languages; and survey of applications.
CS 650 Principles of Natural Language Processing 3 CH
Prerequisite: CS 642 or CS 613. Study of issues arising in computer processing of languages like English and solution techniques: overview of AI principles , significance of language structure in extracting meaning, ambiguities, parsing techniques, semantic issues, semantic models, pragmatics, text-based systems and case studies.
CS 651 Principles of Knowledge- Based/Expert Systems 3 CH
Prerequisite: CS602 or CS 642. Survey of principles and practice of knowledge-based and expert systems: overview of AI search , rule-based systems, non-rule-based systems, uncertainty and handling of judgmental knowledge, issues of knowledge representation and knowledge representation languages, survey of classic expert systems and expert system shells.
CS 652 Neural Networks 3 CH
Prerequisites: CS 642 or CS 602 and MT 151. Neural networks as a computation model complementary to symbolic AI: basic principles, history of neurocomputing, various models and their common ideas, applications in machine learning and pattern recognition, hybrid systems, etc.
CS 653 Computer Networking 3 CH
Prerequisites: CS 611 and CS 612 or CS 621. Principles of computer network design: classic models, hardware and software, network operating systems, protocols, OSI models and standards, local and wide-area networking and performance.
CS 654 Object-Oriented Programming Using C++ 3 CH
Prerequisite: CS 502 or equivalent: Principles of OOP: encapsulation, polymorphism and inheritance. C++ is used as the main vehicle for getting the ideas across. Issues of multiple inheritance, persistence, etc. are covered, and comparison with other OOP languages are made, as time permits.
CS 670 Research Project Seminar 3 CH
Prerequisites: As determined by the faculty advisor. Required for the non-thesis option. The student works with a faculty advisor in defining a short research or implementation project. For a research project, the student surveys relevant literature, critically analyzes the state of the art and possibly synthesizes improvements. For an implementation project, the student implements and tests a solution to the chosen problem. The project could involve a combination of research and implementation. At the end of the project, the student writes a report approved by the faculty member and makes a public presentation on the work.
CS 690 Thesis I 3 CH
Prerequisites: As determined by the faculty advisor. Required for the thesis option. The student works with a faculty advisor in defining a substantial research or implementation project. For a research project, the student surveys relevant literature, critically analyzes the state of the art and synthesizes improvements. For an implementation project, the student implements and tests a solution to the chosen problem, comparing it with other work, if any; the project could involve a combination of research and implementation. At the end of this course, the student should have a well-defined problem, have surveyed relevant literature and have made partial progress toward the completion of the work. The student should be ready to make a brief presentation of the work in progress, as required by the advisor. Also, by the end of this course, a proposal describing the work should be written and approved by a thesis committee chosen by the student and the advisor, according to University policy.
CS 691 Thesis II 3 CH
Prerequisite: CS 690. A continuation of CS 690, required for the thesis option. By the end of this course, the student completes the work remaining in the project started in CS 690, as defined by the written proposal. A thesis must be written and defended in front of the thesis committee. The presentation portion of the thesis defense is open to the public.
Previous Page
Back to Course Descriptions