Skip to Content

Course Search Results

  • 4.00 Credits

    Concepts of formal language definition, automata theory, Turing theory, and solvability, with an introduction of algorithms and computational methods used in advanced computer science courses. Prerequisite:    CS 2130 and CS 2420 and MATH 1630
  • 4.00 Credits

    This course is a continuation of CS 3230 and examines the development of Java applications intended for an enterprise environment. The course is programming intensive and concentrates on designing and implementing multi-tier and Web applications based on the Java Enterprise Edition (Java EE) specification. Topics include JavaBeans, Java Database Connectivity, client/server interactions, servlets, session tracking, JavaServer Pages, JavaServer Faces, Struts, the Model-View-Controller approach, remote method invocation, Enterprise JavaBeans, and application servers. Lab exercises will emphasize how Java Enterprise programming supports the operation of robust, distributed object architectures. Prerequisite:    CS 3230 and CS 3750
  • 4.00 Credits

    Introduction to fundamental principles of software development using design patterns, including structural design patterns, behavioral design patterns, SOLID principles, and agile approach; Understand and program the basic concepts and techniques for building software in an adaptive way, including dependencies and layering, interfaces, unit testing, and refactoring. Prerequisite:    CS 3230 and CS 3280
  • 4.00 Credits

    This course introduces and investigates the mathematical and programming basis for generating pictures and images using a computer. Fields impacted by visual rendering technologies include filmmaking, publishing, banking, engineering, and education. Students are introduced to the theory and practice of computer graphics, with an emphasis on designing and developing working applications using currently available graphics libraries. The course focuses on strategies for rendering geometric data (points, lines, and polygons), and the analysis of the processing stages and components of the graphics pipeline, including transformations, viewing volumes, and projections. Programming and mathematical techniques related to modeling, viewing, coordinate frames, and perspective will be primary topics for discussion and code development. The course covers the key processing steps and structures needed to appropriately map 3D geometric primitives to 2D screen positions while maintaining a realistic look, which involves hidden surface removal, proper lighting, and simulated material properties. Prerequisite:    CS 2420 and CS 3200
  • 4.00 Credits

    Capstone client/server web programming group project implemented using an advanced web framework (such as PHP (Laravel, Zend, Cake PHP) or Django, or Ruby on Rails). Includes implementation and concepts of an MVC web architecture, Web UI design and creation, data modeling and retrieval, input validation, security, and unit testing. Prerequisite:    CS 3620 and WEB 3620
  • 4.00 Credits

    This course provides a capstone project experience for students interested in software engineering. While previous courses in the Computer Science curriculum provide students with the knowledge and skills necessary to begin a career as a software engineer, the end-to-end design and implementation experience offered in this course, done as part of a team, and addressing an open ended problem (as well as an open ended solution), comes much closer to the experience that software engineering professionals encounter in the workplace. The emphasis on documentation and presentation of designs and results is also valuable career preparation, and forces students to take ownership of their designs and systems as they present them to others. Prerequisite:    CS 3750
  • 4.00 Credits

    This course covers basic artificial intelligence principles from the perspective of implementing intelligent agents through software. Students will write intelligent software agents to solve a variety of problems from different application domains. Topics include search, search heuristics, adversarial search, constraint satisfaction problems, knowledge and reasoning, planning, and knowledge representation. Prerequisite:    CS 2130 and CS 2420 and MATH 1630
  • 4.00 Credits

    This course introduces students to 2D game development using a programming language, scripting, and a gaming engine. The work includes team work project, graphical programming, GUI, and all other aspects of creating a game program associated with a game design document. Prerequisite:    CS 1010 and CS 3280
  • 4.00 Credits

    This course is a continuation of CS 4640 and covers intermediate to advanced level 3D game development using a commercial gaming engine authoring tool like Unity or Unreal. Students work in small teams and reference a game design document (which they've previously created themselves or which is selected from previously approved CS 1010 course documents) to program and fully develop a "medium-scoped" 3D video game. The game will be delivered over several iterations throughout the semester, each requiring peer review and play-test feedback. This course emphasizes several aspects of 3D game development, including but not limited to level, character, environment and world construction, scripting, 3D modeling and asset creation, user interface, scene transitions and cinematics, rudimentary AI, physics, graphical post-processing, as well as solid gameplay principles, core mechanics, scalability, and replayability. The course focuses heavily on game development and programming, assuming the game design has been previously scoped out. Prerequisite:    CS 3750 and CS 4640
  • 4.00 Credits

    This course provides an introduction to the principles of number theory and how they are applied to cryptographic algorithms. Different topics that will be examined are: several classic ciphers, modern cryptographic methods, symmetric encryption, public key cryptography, hash functions, key management, digital signatures, certificates, electronic mail security, steganography, and recent developments affecting security and privacy on the Internet. The focus will be on how cryptography and their application can maintain privacy and security in computer networks. Prerequisite:    CS 2420 and CS 3130 and MATH 1630