Course Descriptions

CS 100 INTRO TO INFO TECHNOLOGY   3.0 Credit(s)
An introduction to computing and data processing for non-computer science majors. This course is half theory and half hands-on application using Microsoft Office. It includes word processing, spreadsheets, databases, presentation software, and using the Internet as a research tool effectively. This course provides the knowledge and understanding necessary to communicate effectively in the personal computing environment of business today. Non-majors only.
Offered: Fall & Spring Semesters All Years

CS 101 WEB DESIGN & VISUAL TOOLS   3.0 Credit(s)
This course aids in the understanding of the design and production of websites. It presents what design elements go into webpage development. Students browse sites and identify good design elements. They construct their own webpage early on and allow it to evolve throughout the semester.
Offered: Fall & Spring Semesters All Years

CS 104 DIGITAL ANIMATION & GAMING   3.0 Credit(s)
The class will create electronic games using digital animation and timeline control. Topics covered include creating gaming objects with drawing and color tools, timeline-based animation techniques, controlling screen action with buttons, integrating sound into a game, and publishing and exporting a game to the web.
Offered: Spring Semester All Years

CS 106 INTRO TO INFO TECH./BUSINESS   3.0 Credit(s)
An introduction to computing and data processing for non-Computer Science majors. This course is half theory and half hands-on application using Microsoft Office. It includes spreadsheets, databases, and presentation software and provides the knowledge and understanding necessary to communicate effectively in the personal computing environment of business today. For Business Administration majors, non CS majors.
Offered: Fall & Spring Semesters All Years

CS 110 INTRO TO COMPUTER SCIENCE   3.0 Credit(s)
An introduction to programming logic using a suitable introductory programming language. This course presents an overview of major programming concepts (selection, loops, input-output operations, procedures, and functions) and serves as an introduction to the Unix operating system and Unix-based editors. For Computer Science majors with no previous programming experience.
Offered: Fall Semester All Years

CS 111 INTRO STRUCTURED PROGRAMMING   3.0 Credit(s)
A first course in programming using a structured programming language. Topics include iteration, selection, procedures, functions, and arrays with the use of flowcharts and modules. Presents applications in both business and scientific areas.
Offered: Fall & Spring Semesters All Years

CS 112 DATA STRUCTURES   3.0 Credit(s)
A continuation of CS 111 using a structured programming language to implement multidimensional arrays, stacks, queues, linked lists, and binary trees. Also introduces recursion, pointers, and classes. Prerequisite: Take CS-111
Offered: Fall & Spring Semesters All Years

CS 113 DISCRETE STRUCTURES   3.0 Credit(s)
Presents mathematical concepts for computer science including sets; relations and functions; partitions; order relations; countability; permutations and combinations; probability; recurrences; big-Oh notation; and elements of abstract algebra such as groups, rings, and Boolean algebras.
Offered: Fall & Spring Semesters All Years

CS 171 INTRO TO COMPUTER GAMING   3.0 Credit(s)
Designing the vector gaming environment; storyboarding; tween and frame-by-frame animation; using functions to control animation timelines; using random number functions to instantiate digital objects; artifact movement utilizing vector plot points. Prerequisite: Take CS-110
Offered: Fall Semester All Years

CS 215 COMPUTER ORG WITH ASSEMBLER   3.0 Credit(s)
This course presents an overview of computer architecture and computer organization as they relate to computer science. Topics include computer components, interconnection structures, internal memory, instruction sets, number representation in computers, parallel processing, and an elementary introduction to assembly programming.
Offered: Spring Semester All Years

CS 232 HUMAN COMPUTER INTERACTION   3.0 Credit(s)
Focuses on how developers and designers of computer systems can produce computers that are beneficial to the user and easy to use. Human-computer interaction is the intersection of human behavior and computer technology. In understanding human behavior, developers can evaluate what makes the computer easy to learn and use. The course examines the ways people interact with computers and how to incorporate this knowledge into the design and evaluation of new technology. Prerequisite: Take CS-111 or CS-101;
Offered: Fall Semester All Years

CS 233 VISUAL BASIC   3.0 Credit(s)
Explores the use of controls and tools, forms, menus, frames, file browsers and buttons, creating windows interfaces for databases, linking to Windows and Excel, and writing and debugging Visual Basic code. Uses VB.net 2010.
Offered: Spring Semester All Years

CS 236 ADVANCED SCRIPTING CONCEPTS   3.0 Credit(s)
This course illustrates the powerful features of the Python language and the available packages and technology. Topics covered include writing scripts to access parts of computer system, sriting programs that use some of the standard libraries that Python supports, understanding how Python works on the web and connecting a web application to a database. The students build multi-layered functionality including networks, data and security. Prerequisite: Take CS-233 or CS-272
Offered: Fall Semester All Years

CS 241 C: ADV PROGRAMMING CONCEPTS   3.0 Credit(s)
Covers advanced programming techniques in "C" using pointers, data structures, and recursion. Emphasis on algorithmic approach and use of mathematical functions. Prerequisite: Take CS-112
Offered: Fall Semester All Years

CS 261 PROGRAMMING FOR THE WEB   3.0 Credit(s)
An introduction to web-enabling technologies, this course addresses web design with HTML code, cascading style sheets and layers, Photoshop, and Java script. Problems and trends faced by webmasters today are also discussed.
Offered: Spring Semester All Years

CS 271 ADVANCED COMPUTER GAMING   3.0 Credit(s)
An object-oriented approach to programming digital objects using Flash and Action Script 3.0. These programming techniques will be applied to both arcade and adventure games. Prerequisite: Take CS-171
Offered: Spring Semester All Years

CS 272 OOP WITH C# AND GAMES   3.0 Credit(s)
An object-oriented approach to computer graphics using C#. Topics covered will include classes, instantiation, event listeners, polymorphism, encapsulation, event handlers, functions and methods, and basic game logic. Prerequisite: Take CS-112 and CS-113
Offered: Spring Semester All Years

CS 273 3D DIGITAL OBJECT CREATION   3.0 Credit(s)
Video game development involves many different team members. Two of the most essential skills are programming and 3D animated character development. CS 273 addresses the latter. Using Autodesk May (or a similar platform), students will learn the fundamentals to develop working animated game characters. Each student will also have the opportunity to utilize the markerless motion capture laboratory. In this lab students track human action for modeling character movement. The eighteen-camera motion-capture system converts to Organic Motion code that can be exported to the Maya platform. From there students create their characters for use in the Unity 3D game development platform. Prerequisite: Pre: CS-171
Offered: Fall Semester All Years

CS 290 SYSTEMS ANALYSIS & DESIGN   3.0 Credit(s)
This course provides students with a real-world internship experience. For Computer Science, Information Technology, and Game Design and Development majors.
Offered: Fall & Spring Semesters All Years

CS 299 SPECIAL TOPICS   1.0-6.0 Credit(s)
Various courses of current interest to the Computer Science major are introduced from time to time.
Offered: As Needed All Years

CS 311 DATABASE DESIGN   3.0 Credit(s)
Explores fundamentals of database design theory and applications. Includes data models with emphasis on the relational model. Prerequisite: Take CS-112;
Offered: Fall Semester All Years

CS 312 SOFTWARE ENGINEERING   3.0 Credit(s)
The study of software development methodology, both procedural and objectoriented. This is a team project-based design course where teams develop software projects from requirements analysis through detailed design and testing. Umbrella activities such as configuration management, quality assurance, writing documentation, ethics, and costing are covered. Automated software design tools are used and oral and written presentations required.
Offered: Spring Semester All Years

CS 313 DISCRETE SYSTEMS   3.0 Credit(s)
The course presents important mathematical concepts and computational models, including elements of number theory, modular arithmetic, crytography, finite automata, regular expressions, formal grammars, Turing machines. These concepts and computational models form foundation for a wide variety of advance areas of computer science, including public-key crytography, search engines, pattern matching, compilation, language processing. Prerequisite: Take CS-112 and CS-113
Offered: Fall Semester All Years

CS 318 PROJECT COURSE   3.0 Credit(s)
Students sign up for this senior project course one semester before the graduating semester, because of the independent study/work involved. Students work with a faculty member in the department and a mentor to define and implement an acceptable project. The student is required to assess requirements, design software, and write detailed documentation that illustrates and supports design choices. Test plans, usability testing, and prototypes are also required. Students present their projects to the department faculty and public as the culmination of this project. Prerequisite: Take CS-312
Offered: Fall Semester All Years

CS 319 COMPUTER ETHICS:SOCIETY & TECH   3.0 Credit(s)
This course focuses on the ethical and social issues associated with computer technology such as privacy, theft, intellectual property, accountability, hacking and cracking, codes of ethics, and professional responsibility. Students also examine philosophers such as Aristotle, Kant, and Mill and use their theories to support ethical debate and dialogue. This course is a senior-level capstone course. It emphasizes both oral and written communication as students discuss and examine their own ethical beliefs in relation to society and technology. Prerequisite: Take CTL-125 and PH-231 or PH-251;
Offered: Fall & Spring Semesters All Years

CS 320 RESEARCH & IMPLEMENTATION   1.0 Credit(s)
This course is for seniors who have started their Senior Projects in CS-318. During the course, students will work with mentors to refine their research, implement their project (coding, testing, usability testing) and will present the project to the Faculty in the Spring. This is the final course taken to finish CS-318 projects. Prerequisite: Take CS-318
Offered: Spring Semester All Years

CS 331 DESIGN OF MULTIMEDIA APPLIC.   3.0 Credit(s)
This course aids in the understanding of multimedia authoring, incorporating text, graphics, sound, and video. It discusses design and planning elements that go into multimedia development. Students use Flash and Action scripting to choreograph media objects onto a stage using a score. It is designed for students with programming experience. Prerequisite: Take CS-111
Offered: Fall & Spring Semesters All Years

CS 332 CLOUD COMPUTING   3.0 Credit(s)
This course presents a number of cloud computing tools and technologies, including virtualization, web services, data analysis, and integration. Prerequisite: Take CS-112 and CS 339
Offered: Fall Semester All Years

CS 333 THEORY OF COMPUTER GAMING   3.0 Credit(s)
Computer game studies is an emerging field. This course provides a solid, theoretical background in the field of computer gaming which will assist them in their pursuit of game development throughout their career. Prerequisite: Take CS-271
Offered: Fall Semester All Years

CS 338 SYSTEMS ANALYSIS & DESIGN   3.0 Credit(s)
An advanced design course that studies the application of computer solutions to business problems. This is a project-based course where teams set milestones and present object-oriented analysis and design of their solutions. Oral and written presentations are required and automated software tools are used. Prerequisite: Take CS-312
Offered: Fall Semester All Years

CS 339 NETWORKING, DATA COMMUNICATION   3.0 Credit(s)
The study of networks and data communication concentrating on the Internet model. This is a laboratory-based course that includes projects implemented on both Unix and Windows machines. Topics such as LANs, WANs, MANs, hardware, software, protocols, routing, circuit-switching and packet-switching networks, analog and digital systems, and compression and error handling are among those studied. Students use a simulation package to design and simulate networks. Prerequisite: Take CS-112
Offered: Spring Semester All Years

CS 341 ANALYSIS OF ALGORITHMS   3.0 Credit(s)
Emphasis on theory and techniques underlying the analysis of algorithms including big/little-Oh, graphs and networks, searching, sorting, recursion, and classical algorithms. Prerequisite: Take CS-241 or CS-272
Offered: Spring Semester All Years

CS 348 PROGRAMMING IN UNIX   3.0 Credit(s)
Discusses main issues of Unix OS programming and administration. Explores the popular Unix text editor Emacs, Unix file system, process manipulation, regular expressions and their uses, filters and system administration, and security. Prerequisite: Take CS-112
Offered: Fall Semester All Years

CS 349 OPERATING SYSTEMS   3.0 Credit(s)
Examines resource management, including memory allocation and management, virtual memory, process scheduling, protection, deadlock and concurrency, case studies, and multiprocessing. Prerequisite: Take CS-215 CS-241;
Offered: Spring Semester All Years

CS 350 DATA ANALYTICS   3.0 Credit(s)
Data analytics is about harnessing the power of data for new insights. The course covers the breadth of activities, methods and tools that Data Scientists use. The content focuses on concepts, principles and practical applications that are applicable to any industry. Prerequisite: Co-req: MA-131 or MA-133 or MA-331
Offered: Fall Semester All Years

CS 367 MANAGING,SECURING AND DESIGNING MODERN   3.0 Credit(s)
Focuses on wireless and mobile networks, multimedia networking, network management infrastructure, configuration management, network security, cryptography, authentication, access controls, network design (OpNet), and designing network performance. Prerequisite: TAKE CS-339
Offered: Fall Semester Contact Department

CS 368 Hands-On Network Security   3.0 Credit(s)
Focuses on networking security topics, firewalls (using Linux), packet filters, NAT and PAT, public key infrastructure (using Microsoft Certification Server), encryption algorithms, decrypting passwords, dictionary decryption, brute force decryption, certificate servers, vulnerability assessment, identifying security holes, forensics, Layer 5 vulnerabilities, and packet monitoring.
Offered: Spring Semester Contact Department

CS 371 ADVANCED GAME PROGRAMMING   3.0 Credit(s)
A game-oriented programming course focusing on advanced graphics techniques using OpenGL and/or DirectX. Prerequisite: Take CS-272
Offered: Spring Semester All Years

CS 372 BUILDING GAMES   3.0 Credit(s)
In this class we explore how logic and creativity work together in the well-designed computer game. Topics include genres of games, character development and gameplay, new and developing gaming concepts, creation and use of gaming engines, the role of sound and music, and teaching a game to think. Prerequisite: Take CS-371
Offered: Fall Semester All Years

CS 390 INTERNSHIP   1.0-6.0 Credit(s)
This course provides students with real world internship experience. For Information Technology Majors.
Offered: Fall & Spring Semesters All Years

CS 398 SPECIAL TOPICS II   3.0 Credit(s)
Students in this course will learn how to design and develop applications for mobile devices.
Offered: Fall & Spring Semesters All Years

CS 399 INDEPENDENT STUDY   3.0-6.0 Credit(s)

Offered: As Needed Contact Department

CS 418 SENIOR DESIGN PROJECT   3.0 Credit(s)
This senior project course is offered in the fall of the senior year. Students work with a faculty member in the department and a mentor to define and implement either a team or individual project. Students are required to assess requirements, design and develop the software and write detailed documentation that illustrates and supports design choices. Test plans, usability testing and prototypes are also required. Students present their complete, working projects to the department faculty and public as the culmination of this project.
Offered: Fall Semester All Years

CS 500 INTRO TO STRUC PROGRAM   3.0 Credit(s)
This is an introductory course in computer programming using a structured programming language. Representative topics include iteration, selection, procedures, functions, arrays, and classes.
Offered: Fall, Spring & Late Spring Sem All Years

CS 501 INTRO TO DATA STRUCTURES   3.0 Credit(s)
A continuation of CS 500, utilizing a structured programming language and classes to further implement multidimensional arrays and other data structures including linked lists, stacks, queues, trees, and more. This course also provides introduction to recursion and data abstraction. Prerequisite: Take CS-500
Offered: Fall, Spring & Late Spring Sem All Years

CS 504 INTRO TO PROG USING SCRIPTING   3.0 Credit(s)
This course will provide an introduction to structured programming and elementary data structures using the JavaScript language, or any other scripting or dynamic language such as Python, Perl, PHP, LUA, or Ruby. Topics covered include basic programming concepts, control statements, loops and branching structures, string processing, and debugging.
Offered: Fall, Spring & Late Spring Sem All Years

CS 505 COMPUTER NETWORKS   3.0 Credit(s)
Students in this course will study networks and data communication concentrating on the Internet model. This is a laboratory-based course that includes projects implemented on both Unix and Windows machines using Wireshark. Students will review hex and binary number systems. Topics such as network architecture, the Internet protocol stack, LANs, WANs, and MANs, hardware, software, protocols, routing, circuit-switching and packet-switching networks, wireless networks, compression, and error handling are studied. Prerequisite: Take CS-504
Offered: Fall, Spring & Late Spring Sem All Years

CS 550 DYNAMIC WEB PAGE DEVELOPMENT   3.0 Credit(s)
This course enables students to develop low-bandwidth visual effects for webpages. A variety of software is employed to develop websites and media for the web. Topics include: web animation and interactivity using Adobe Flash, a vector-based animation tool; vector-based graphic construction and digital compression using Macromedia Fireworks, a graphic optimizing tool; and dynamic webpage construction using Adobe Dreamweaver, a visual HTML editor.
Offered: Fall, Spring & Late Spring Sem All Years

CS 551 INTRO OBJECT-ORIENT PRGMG JAVA   3.0 Credit(s)
Provides an introduction to the 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. Both C++ and Java are used to implement these objected-oriented concepts. Prerequisite: Take CS-501
Offered: Fall, Spring & Late Spring Sem All Years

CS 552 WINDOWS INTERFACE DSGN:VIS BAS   3.0 Credit(s)
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 is used in implementing various Windows applications. Prerequisite: Take CS-500;
Offered: Fall, Spring & Late Spring Sem All Years

CS 553 WEB DESIGN WITH JAVA SCRIPT   3.0 Credit(s)
This course shows students how to embed Java "applets" into HTML pages, as well as create applets. The course covers the Java applet paradigm and the standard Javaclass libraries. Students write Java applets, stand-alone applications, Native Libraries, and content/protocol handlers for extending web browsers.
Offered: Fall, Spring & Late Spring Sem All Years

CS 554 MULTIMEDIA DESIGN   3.0 Credit(s)
Students develop multimedia applications of their own design using Adobe Director. This course explores principles for effective interactive multimedia design from concept definition, storyboarding, multimedia development, and authoring to testing and revision. It covers techniques to include sound, graphics, photographs, animation, video, and text into multimedia presentations. Adobe Director movies are developed for use in authoring applications such as business presentations, interactive kiosks, CD-ROMs, and Shockwave movies for the web. Prerequisite: Take CS-500
Offered: Fall, Spring & Late Spring Sem All Years

CS 557 WEB PROGRAMMING WITH ASP   3.0 Credit(s)
Covers Active Server Pages and how they allow for powerful website creation by combining program code with standard HTML. The class is presented in a tutorial system application. Students will successfully learn how to program using Visual Basic Script, the most commonly used ASP programming language. Other relevant topics include integrating databases with a website and effective site functionality. Prerequisite: Take CS-552 and CS -603
Offered: Spring Semester All Years

CS 558 ADVANCED ASP.NET   3.0 Credit(s)
The class will focus on some advanced ASP. NET topics such as AJAX, web services, building custom components, profiles, LINQ, and web parts. Prerequisite: Take CS-557
Offered: Late Spring Semester All Years

CS 559 C# PROGRAMMING   3.0 Credit(s)
Introduces the .NET platform using C#, which is a modern object-oriented language to build interfaces with applications for both windows and the web. OLE Automation and Database (ADO.net) development will be introduced. Prerequisite: Take CS-501
Offered: Fall & Late Spring Semesters All Years

CS 560 NETWORKING APPS WINDOWS NT   3.0 Credit(s)
This hands-on course provides an in-depth introduction to IP addressing, TCP/IP, routing of IP packets, Internet protocol, TCP, DHCP, DNS, and network management, and a brief introduction to network security including use of firewalls, proxy servers, and footprint analysis. Prerequisite: Take CS-621
Offered: Fall, Spring & Late Spring Sem All Years

CS 563 ANIMATION FOR THE WEB   3.0 Credit(s)
This course serves as an introduction to Flash Animation. Students will discover how to produce interactive multimedia. The course covers the Flash interface and tools used to develop Flash animations such as shape and motion tweening, motion guide path, masking, development of scenes, creation of movie clips, and button symbols. These tools are used to create of a variety of animations such as interactive presentations, interactive greeting cards, interactive tutorials, websites, puzzles, and small games. Basic ActionScript will be covered in this class. Prerequisite: Take CS-550
Offered: Fall, Spring & Late Spring Sem All Years

CS 571 ADVANCED COMPUTER GAMING   3.0 Credit(s)
An object-oriented approach to programming digital objects using Flash and Action Script 3.0. These programming techniques will be applied to both arcade and adventure games. Prerequisite: TAKE CS-501
Offered: Fall, Spring & Late Spring Sem All Years

CS 572 OOP WITH C# AND GAMES   3.0 Credit(s)
An object-oriented approach to computer graphics using C#. Topics covered will include classes, instantiation, event listeners, polymorphism, encapsulation, event handlers, functions and methods, and basic game logic. Prerequisite: TAKE CS-571
Offered: Spring Semester All Years

CS 573 ADVANCED GAME PROGRAMMING   3.0 Credit(s)
A game-oriented programming course focusing on advanced graphics techniques using OpenGL and/or DirectX. Prerequisite: TAKE CS-572
Offered: Fall Semester All Years

CS 583 THEORY OF COMPUTER GAMING   3.0 Credit(s)
Computer game studies is an emerging field. This course provides a solid, theoretical background in the field of computer gaming to assist students in their pursuit of game development throughout their career. Prerequisite: Take CS-571
Offered: As Needed Contact Department

CS 601 ASSEMBLY LANGUAGE PROGRAMMING   3.0 Credit(s)
Explores programming concepts at the interface of hardware and software: addressing, instructions, symbol tables, linkage, registers, ALU and CPU, anatomy of an assembler, relocatable code, macros, interrupts, and debuggers. Prerequisite: Taek CS-501
Offered: Fall Semester All Years

CS 602 ADV DATA STRUCTURE/ALGOR   3.0 Credit(s)
Explores the relationship between data structures and algorithms with a focus on space and time efficiency. This course will review recursion, data abstraction and complexity analysis, multilists, trees (including balanced binary trees, n-ary trees, and Btrees), hash tables, external sorting, graphs, and algorithm design techniques. Prerequisite: Take CS-501 or CS-502
Offered: As Needed Contact Department

CS 603 ADV DATABASE DESIGN   3.0 Credit(s)
This course discusses goals and techniques in the design, implementation, and maintenance of large database management systems: physical and logical organization; file structures; indexing; entity relationship models; hierarchical, network, and relational models; normalization; query languages; and database logic. Prerequisite: Take CS-501
Offered: Fall, Spring & Late Spring Sem All Years

CS 604 ADV. SOFTWARE ENGINEERING   3.0 Credit(s)
This advanced programming course reviews models and metrics for software engineering in the large: software life-cycle models, software modeling tools, design and analysis of software subsystems, management of software projects, test plans, configuration control, reliability, and metrics. Prerequisite: Take CS-501 and CS-603
Offered: Fall, Spring & Late Spring Sem All Years

CS 605 DISCRETE STRUCTURES & LOGIC   3.0 Credit(s)
This course reviews the mathematical concepts and foundations of logic for computer science: sets, relations, and functions; Boolean algebras; graphs; propositional and predicate logic; notions of logical consequence and provability; soundness and completeness of inference methods; resolution; unification; and introduction to theorem proving.
Offered: As Needed Contact Department

CS 611 OPERATING/MULTIPRGMING SYSTEMS   3.0 Credit(s)
Explores the management of resources in a multiuser system: memory allocation and management, process scheduling, protection, concepts of concurrent processes, study of different operating systems, and multiprocessing. Prerequisite: Take CS-551
Offered: Fall Semester All Years

CS 614 THEORY OF COMPUTATION   3.0 Credit(s)
Reviews 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. Prerequisite: Take CS-551
Offered: Late Spring Semester All Years

CS 615 PROGRAMMING IN UNIX   3.0 Credit(s)
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. Prerequisite: Take CS-551
Offered: Fall Semester All Years

CS 616 MACHINE LEARNING   3.0 Credit(s)
This course provides an understanding of machine learning techniques. I offers the concepts and the tools the students need to implement programs capable of learning from data. Prerequisite: Take CS-504

CS 617 ARTIFICIAL INTELLIGENCE   3.0 Credit(s)
Foundational principles making computers learn, plan, and solve problems autonomously; and driving modern intelligent agents on real-world applications for contemporary problems, such as deep learning, data flows, and autonomous driving. Prerequisite: Take CS-504;
Offered: All Semesters All Years

CS 620 INFO ANALYSIS& SYSTEM DESIGN   3.0 Credit(s)
Discusses the design, analysis, and management of information systems: system lifecycle management, hardware and software selection and evaluation, the 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. Prerequisite: Take CS-603
Offered: Fall, Spring & Late Spring Sem All Years

CS 621 PRINC OF DATA COMMUNICATIONS   3.0 Credit(s)
A survey of modern data communication techniques including data communication and local networking, hardware (e.g., terminals, modems, multiplexors), nodal and host processor architecture, packet switching, network control, protocols, software management, and security. Prerequisite: Take CS-500
Offered: Fall, Spring & Late Spring Sem All Years

CS 622 NETWORK SECURITY   3.0 Credit(s)
Is there a security problem in computing? How do IT and network managers interface with business managers to create a security system that meets the needs of both sides of the business? How does network security support the business mission, and how many resources is business willing to give to support network security? This course addresses these complex issues. Among the topics covered are conventional encryption and message confidentiality, public key cryptography and message authentication, authentication applications, e-mail security, IP security, web security, firewalls, security in mobile networks, and other security issues. Prerequisite: Take CS-621
Offered: Fall, Spring & Late Spring Sem All Years

CS 624 HANDS - ON NETWORK SECURITY   3.0 Credit(s)
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, 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), and packet monitoring (sniffing). Prerequisite: Take CS-621 or CS-560
Offered: As Needed Contact Department

CS 625 CRYTOGRAPHY   3.0 Credit(s)
Designed for CS graduate students, this course covers theoretical and practical aspects of modern applied computer cryptography. Topics include block and stream ciphers; hash functions, data authentication, identification, and digital signatures. Special emphasis is given to public-key cryptosystems. The course includes implementation of various encryption algorithms in different programming systems. Prerequisite: Take CS-622
Offered: Late Spring Semester All Years

CS 626 INTRO TO CYBER SECURITY   3.0 Credit(s)
What is cybersecurity? What is a threat and how do you protect against the constantly changing cyberworld? Securing an organization's cyber environment is everyone's responsibility. This course will address cyber-security concepts, cybersecurity threats, cybersecurity attack types, cybersecurity attack history, approaches to securing the organization, and protections from cybersecurity threats. Prerequisite: Take CS-505
Offered: Fall, Spring & Late Spring Sem All Years

CS 627 SYSTEM SECURITY   3.0 Credit(s)
How do you secure the critical infrastructure that supports our cybersecurity landscape? What threats and attacks do systems constantly face? This course will address these complex issues in securing the system and applications that run in today's organizations. Among the topics covered are secure system hardening, access controls, security system management, secure administration, security monitoring, secure backups, and application security concepts. Prerequisite: TAKE CS-626
Offered: Spring & Late Spring Semesters All Years

CS 628 SECURITY MANAGEMENT   3.0 Credit(s)
All of the new security technologies require good management to maintain effectiveness. With so many new technologies, how do we make the security technology effective? Where do we start? How do we measure and plan to improve a company's security posture? This course will address these complex issues about managing security within an organization. Among the topics covered are policy and information security program development, incident response, identity access management, security governance, security risk management, vulnerability management, and security metrics. Prerequisite: TAKE CS-626
Offered: Fall & Spring Semesters All Years

CS 629 ETHICAL HACKING   3.0 Credit(s)
This course introduces students to the security threat of computer hacking and system vulnerabilities and exploits. The course will introduce techniques and hacking skills that black-hat hackers use to compromise systems. The class will teach students how to perform white-hat hacker and ethical hacking techniques to safeguard a computer network. Prerequisite: TAKE CS-622
Offered: Spring & Late Spring Semesters All Years

CS 630 CLOUD COMPUTING   3.0 Credit(s)
This course presents a number of cloud computing tools and technologies, including virtualization, web services, data analysis, and integration. Prerequisite: Take CS-501
Offered: Fall, Spring & Late Spring Sem All Years

CS 631 DATA WAREHOUSING   3.0 Credit(s)
This course provides 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 extraction, transformation, and loading (ETL) processes; data quality issues; and reporting from the data warehouse using SQL and online analytical processing (OLAP) techniques. Several Oracle lab experiments are conducted to provide hands-on experience in the areas of data warehouse design, construction, data loading, and essential reporting techniques. Prerequisite: TAKE CS-603
Offered: Spring Semester All Years

CS 632 ADVANCED DATABASE TOPICS   3.0 Credit(s)
This course provides students with an advanced understanding of database technology. In addition to the entity relationship model, alternate database models (such as EAV and OOD) are investigated. Possible topics include indexing, optimization, XML, online analytic processing (OLAP), embedded SQL, locking techniques, and parallel and distributed systems. The focus and specific topics covered in this course change to reflect modern trends and the latest technology. Prerequisite: Take CS-603
Offered: Fall Semester All Years

CS 633 ADVANCED DATABASE PROG.   3.0 Credit(s)
This course provides students with a thorough understanding of database programming. Students use the latest technology to create front-end applications to hit large-scale backend databases. SQL and stored procedures are used to retrieve data from various data stores. Emphasis is placed on a layered approach to programming. User-friendly design principles and business logic are used to teach students how to implement large-scale windows and/or web applications. The specific technology used will vary to reflect current trends in database programming technology. Prerequisite: TAKE CS-603
Offered: Late Spring Semester All Years

CS 635 DIGITAL FORENSICS   3.0 Credit(s)
In this course, students will learn how to understand and differentiate between file systems and operating systems; explain in detail the FAT file system; be exposed to the NTFS file system; identify Windows artifacts and registry artifacts; understand hashing and its uses in digital forensics; understand Fourth Amendment considerations when searching and seizing digital evidence (per CT law) chain of custody; use hardware write blockers, varieties, and uses; perform data acquisitions using methods and tools discussed in class; perform basic data recovery; understand file signatures and its uses; and understand risk assessment. Prerequisite: Take CS-626
Offered: Fall & Late Spring Semesters All Years

CS 636 SECURE PROGRAMMING TECHNIQUES   3.0 Credit(s)
This course will provide an introduction on how to setup a secure development environment, go over basic practice models and secure programming techniques in language frameworks. Prerequisite: Take CS-626
Offered: Late Spring Semester All Years

CS 639 VULNERABILITY MANAGEMENT   3.0 Credit(s)
This course will provide lectures on vulnerability and compliance management for multiple systems and perform handson experience with Tenable Nessus (one of the industry-leading vulnerability and compliance scanning tools). It will provide students with a working knowledge and understanding of vulnerability and compliance management, and expose students to new system and application vulnerabilities that are identified on a daily basis and demonstrates the techniques for managing them. The purpose of this course is to teach students how to identify vulnerabilities, plan to remediate them, and track to make sure they do not return. Prerequisite: Take CS-505
Offered: Spring & Late Spring Semesters All Years

CS 640 SPECIAL TOPICS USING C#   3.0 Credit(s)
Presents one-time and first-time offerings of courses on current topics. Course title is shown on the student's transcript.
Offered: Fall, Spring & Late Spring Sem All Years

CS 641 SECURING THE CLOUD   3.0 Credit(s)
Cloud computing is rapidly becoming a popular choice for hosting everything from entire operating systems and software to service (SaaS) applications such as websites, databases, e-mail, data backup, and so forth. The course will provide an introduction to cloud technologies and their best practices. Learn the unique challenges posed by this type of platform and how to properly configure and secure cloud-based assets. Prerequisite: TAKE CS-627
Offered: Spring & Late Spring Semesters All Years

CS 642 SECURING THE CLIENT/SERVER   3.0 Credit(s)
Clients and servers run operating-system (OS) software as well as many applications, each presenting a unique concern from a security perspective. This course provides an in-depth look at how to properly harden today's most popular operating systems: Microsoft Windows, Apple OS X, and Linux. This course covers built-in security features of each OS and how best to utilize these and other third-party applications to set up a secure system. The course will also teach students how to secure services and applications provided with these OSs, such as Sendmail and MS Exchange, MySQL and MS SQL Server, Apache, and MS IIS. Prerequisite: TAKE CS-626
Offered: Fall Semester All Years

CS 645 ADVANCED DIGITAL FORENSICS   3.0 Credit(s)
This instructor-led course provides the knowledge and skills necessary to install, configure, and effectively use the AccessData forensic software tool set to conduct digital/ computer forensic investigations. There will be a significant amount of hands-on, in-class work. At the completion of this course, each student will have the opportunity to take the AccessData Certified Examiner (ACE) test. Upon a successful completion of the test, the student will have earned the ACE certification. The AccessData forensic tools covered in this course include Forensic Toolkit (FTK), FTK Imager, Password Recovery Toolkit (PRTK), and Registry Viewer. The platform for this course will be the Windows Operating System. Prerequisite: Take CS-635
Offered: Spring Semester All Years

CS 648 INTRODUCTION TO SOFTWARE QA   3.0 Credit(s)
Introduction to Software Quality Assurance details key facets of software testing and testing theory. Students will utilize core testing theory to create test plans with meaningful test cases ensuring critical coverage of documented requirements. Prerequisite: Take CS-501

CS 650 BIG DATA ANALYTICS   3.0 Credit(s)
Big Data Analytics is about harnessing the power of data for new insights. The course covers the breadth of activities, methods and tools that Data Scientists use. The content focuses on concepts, principles and practical applications that are applicable to any industry.
Offered: As Needed Contact Department

CS 661 3D GAME DESIGN & DEV MAYA   3.0 Credit(s)
The course will cover Open GL and/or some advanced tools of DirectX or other appropriate software that will facilitate the integration of 3D action and movement in a game designed for the course. The students will work in teams (if appropriate) to complete a 3D game during the course. Prerequisite: Take CS-573
Offered: Late Spring Semester All Years

CS 662 GAME DESIGN, DEVELOPMENT & IMPLEMENT.   3.0 Credit(s)
In this course students work as a team to develop an innovative, original computer game. Group responsibilities include project planning and documentation, teamwork, presentations, and demonstrations. Students learn the technical skills involved in game architecture, including advanced character animation and nesting, game physics, sound syncing and editing, lighting simulation techniques, and game balance. Special attention will be paid to emerging game development opportunities in education, professional training, medicine, advertising, and scientific research. Prerequisite: TAKE CS-571
Offered: Spring & Late Spring Semesters All Years

CS 670 RESEARCH PROJECT SEMINAR   3.0 Credit(s)
Required for students pursuing the nonthesis option in their program of study, 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 of the work. Prerequisite: Take CS-620 or CS-604
Offered: Fall, Spring & Late Spring Sem All Years

CS 690 THESIS I   3.0 Credit(s)
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. 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.
Offered: As Needed Contact Department

CS 691 THESIS II   3.0 Credit(s)
A continuation of CS 690, this course is 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.
Offered: Spring Semester All Years

CS ELEC COMPUTER SCIENCE ELECTIVE   1.0-9.0 Credit(s)

Offered: As Needed Contact Department

CS ELECF COMPUTER SCI FOUND. ELECTIVE   1.0-9.0 Credit(s)

Offered: As Needed Contact Department

CSE 125 CSE EXPLORATION   1.0 Credit(s)
This course provides a hand-on introduction to the School of Computer Science and Engineering programs and allows students to learn about each program in more detail by completing hands-on learning exercises in a laboratory environment. This course is offered by a team of SCSE faculty and each cohort will rotate through program-specific laboratories.
Offered: Fall & Spring Semesters All Years