One unit of course credit equals four semester hours.
CGE 213 Elements of Computer Computation
This course introduces the student to techniques for solving a variety of mathematical problems that arise in the development of computer games, animation, simulation, computer graphics and related areas. Topics covered in the course include 2D and 3D Cartesian and Polar coordinate systems, ventors and scalars, implementation of trigonometric functions in rendering 2D and 3D images, representing the motion of an object subject to external forces, implementing collision detection, constructing 2D and 3D rotational, scaling and translational matrix-based transformations, and camera positioning in the virtual world. Also covered are techniques for implementing world-space to viewport and screen space transformations, rendering curves using linear, cubic and B splines, and rendering curved surfaces using Bezier and spline techniques. Lastly, additional topics include random number generators and application of random numbers in a variety of CGE topics, techniques for rendering objects in Euclidean and fractal geometry, ray tracing techniques using vectors and planes, and others.
CGE 313 Numerical Methods
This course provides a general understanding of using the computer as a tool to solve the types of mathematical problems that arise in the development of computer game and entertainment projects. The student writes computer programs that solve problems in a series of evaluation of various mathematical functions, differential and integral calculus, probability and statistics, 2D and 3D vector systems, matrix application in computer graphics, animation, simulation and other related topics. Techniques that apply Monte Carlo concepts are also discussed and the student learns how to apply these to solving a number of important CGE problems.
CGE 350 Advanced Computer Graphics
Emphasis is placed on 3-D graphics and various ‘toolkits’ used to create this type of graphics such as Direct-X. Rendering of solid objects, life forms, fractal scenes and objects, terrains, 3-D modeling, lighting and shadowing, texturing, and other topics are discussed. Prerequisite: CS 220.
CGE 355 Computer Animation and Simulation
This course introduces the student to principles applied to animate computer-generated objects on a computer screen. Both 2-D and 3-D animation techniques are discussed, together with topics including the physics of animated systems, systems of particles, inverse kinematics, framing, interpolation and hierarchies. Also considered is the application of animation to the simulation and modeling of physical systems. Prerequisite: CS 220.
CGE 357 Interactive Digital Media
This course considers the use and application of electronic media forms such as video, music, and sound in an interactive digital system that is graphically based. By merging these forms together, the student creates a ‘virtual’ world that mimics real-world experiences. Basic concepts of human/computer interaction are also covered in the course.
CGE 401 Three Dimensional Computer Game Design
In this course, students apply concepts learned in prrevious classes, such as animation and simulation techniques, three dimensional graphics, and the incorporation of media components such as video, music and sound in a highly interactive game. Students also learn how to develop story lines, scripting techniques, aspects of game theory, and infuse their games with simulated cognition and artificial intelligence. Prerequisite: CS 303.
CGE 405 Digital Cinema
This course applies the topics of computer animation, computer modeling and simulation, artificial intelligence, and computer graphics to the design of computer generated film. Using appropriate software packages such as those from Macromedia, the student learns how to develop a script and then apply it to create scenes that go into the design of a computer-generated film.
CGE 425 Web Based Entertainment Systems
Using the principles of games design, graphics, animation and simulation, and other skills learned in previous courses, the student applies these in the design of web-based entertainment systems. This includes developing multiplayer games played over the Internet, multimedia performances that ‘play’ on a client’s computer, interactive web-based systems and other related topics. Prerequisites: CGE 350, CGE 355.
CGE 477 Computer Game and Entertainment Project Development.
This is the capstone course for the student majoring in computer game and entertainment technology. The student in this course applies all of the concepts and skills learned in previous CGE courses to produce a significant project. This activity will preferably be performed at a company as part of a project development for that company. Prerequisites: CGE 401, CGE 405, CGE 425.
CGE 495 Honors Independent Research
This course gives Honors Program students the opportunity to design and implement a significant research project in the field of computer game and entertainment technology
culminating in an appropriate public dissemination of research methods and findings. This research must build upon previous coursework taken within the major or minor, facilitating faculty supervision and guidance. Repeatable for credit. Permission of the faculty supervisor and the director of the Honors Program required prior to registration.
CS 100 Computers in Science and Technology
Demonstrates the use of the computer as a technological tool in solving problems in the sciences. Also covers basic concepts of computer science including use of software tools such as spreadsheets, databases and scientific simulation programs. Not for computer science. computer game and entertainment technology and information systems majors. A two-hour laboratory is included in this course.
CS 111 Introduction to Software Applications and Digital Technology
This course covers basic concepts in computer science and digital technology. These include, but are not limited to, computer systems, communication devices, digital media in audio and video, as well as various forms of “hand-held” devices. The use of spreadsheets, databases, word processing, presentation software and electronic communication is also covered.
CS 201 FORTRAN Language Programming
A course in programming using the FORTRAN language. A study of the logic, structure and syntax of the language. Prerequisite: One course in a high-level language or CS 220 or IS 224.
CS 205 LINUX
LINUX commands are studied as to function and use; utilizing these, students write job control programs. Topics such as the LINUX shell, LINUX editors, the LINUX system file structure, and the BOURNE and C shells are discussed. Prerequisite: One course in a high- level language or CS 220.
CS 220 Computer Science I
Covers machine organization, flow chart methodology, algorithm development, looping structures, problem formulation and decomposition. During the laboratory portion, students use the computer facility to solve problems. This course is required for IS and CS majors and is recommended for majors in science and business seeking an in-depth introduction to the computer and computer programming.
CS 255 Computer Science II
Introduction to object-oriented programming and data structures. Emphasis on string processing, recursive procedures, sorting and searching, and debugging techniques. Introduction to data structures, including stacks, queues, trees, linked lists, strings, and algorithmic design and analysis. Prerequisite: CS 220.
CS 303 Computer Game Design
Discusses game programming, use of audio and animation techniques, 2D and 3D graphics techniques, and design and game architecture. Rule playing and interaction in games is also covered. Prerequisites: CS 220 and trigonometry.
CS 310 Computer Organization and Programming in Assembly
An in-depth study of computer hardware,
from the logic gate level up through registers, and CPU devices. Primary and secondary memory and input/output, interrupts, and multiprocessor systems are discussed. Programming hardware using an assembler language is also studied, and assembler features such as interrupts, internal and external subroutines, conditional assembly, real-time programming, and the macro language are covered. Prerequisite: CS 220.
CS 315 Web Design and Programming
Covers design of web sites using HTML, CGI, and script programming, including Java Script, Perl, etc. Prerequisite: CS 220.
CS 318 Object-Oriented Design and Programming Using C++
C++ programming language, including extensions of the C language, operator overloading, function overloading, global scope resolution, references, the ‘this’ pointer, classes and class inheritance, constructors and destructors, and input/output streams. Prerequisite: CS 255.
CS 320 Data Structures and Algorithmic Analysis
A coverage in great depth and detail of data structure concepts: stacks, queues, linked lists, binary and general trees, game trees, B trees, graphs, and sorting and searching techniques. Algorithms for developing and applying these structures are discussed in a systematic and logical manner. Other topics are abstract data types, information hiding, and object-oriented programming. Prerequisites: CS 255, CS 318, and MTH 301 or concurrent enrollment.
CS 350 Local Area Networks
This course provides the student with “hands- on” exposure to the installation, administration, and optimization of local area networks. Included in the course is a discussion of network topologies and security issues. Students work with a Novell network and participate in wiring network components, installing network software, issuing network administrative commands, and analyzing network performance. Prerequisite: CS 220.
CS 360 Computer Network Systems
Theory of a computer network is presented and various types of networks, including local area, wide area, and global networks, are discussed. Theory topics include network architecture, data transmission techniques, network topologies, network media, and network security. In addition, the student learns how to use network operating systems and how to generate programs for a system such as the Internet using JAVA and HTML programming tools. Case studies of Windows NT, Novell, the Internet, and intranet systems are given. Prerequisite: CS 220.
CS 398 Languages for Artificial Intelligence
An in-depth description of LISP and PROLOG. Students write programs that demonstrate the logic, syntax, and structure of each one of the languages. Prerequisite: One course in a high-level language or CS 220.
CS 418 Artificial Intelligence
An introduction to fundamentals of artificial intelligence, including problem-solving techniques, search strategies and heuristics, and knowledge representation. First order logic, normal forms, unification, and resolution principles are introduced with applications to problem solving, theorem proving, logic, and database theory. Prerequisite: CS 255. Upon request.
CS 419 JAVA Programming and Web Development
A course in programming using JAVA, including how to create applets and web-based applications. Prerequisite: CS 318 or CS 320 or consent of the instructor.
CS 420 Operating Systems
Concepts include tasks and process representations, process coordination and synchronization, concurrent constructs in programming languages, process and job scheduling, performance and monitoring mathematical tools, virtual and physical memory management schemes, file management organization, device management, issues in real-time and distributed operating systems, security issues, and communications and networks. Prerequisites: CS 310 and CS 360. It is highly recommended, although not required, that the student also take CS 205 before taking CS 420.
CS 435 Concepts of Programming
A comparative study of programming languages from perspectives of the designer, implementor, and user. Concepts include data and control abstractions, binding times, strong and weak typing, parameter passing and concurrency. Languages from the imperative, declarative, functional and object-oriented classes serve as illustrations. Prerequisites:
CS 310, CS 320, and MTH 301.
CS 440 Web-Based Applications
This course covers ways to create dynamic Web applications using both server side and client side programming. In this course students will learn web application basics, ASP.NET application fundamentals, validation, basic forms authentication for web-based security, databinding from a datasource, creating and consuming web services, session state configuration and application data caching. In addition, students will also learn how to embed maps into their web pages using the Google Maps API and the ArcGIS API. Prerequisites: CS 220, CS 315 or IS 100, IS 200.
CS 445 Robotics
The science of robotics is discussed from both hardware and software viewpoints. Using a robot arm, students learn about arm kinematics, sensors, feedback systems, programming techniques and special robotic languages. Prerequisites: MTH 151 and CS 310. Upon request.
CS 448 Computability, Formal Languages, and Automata
A presentation of formal models of computation via turing machines, random access machines and partial recursive functions. Other topics are Godel’s numbering, Church’s thesis, unsolvability, context free grammars and computational complexity. Prerequisites: MTH 301 and CS 310. Upon request.
CS 460 Computer Graphics
Features of graphics programs are considered, including two-and three-dimensional coordinate systems, transformations, perspectives, hidden-line algorithms and polygon filling (graphics), and boundary recognition, template matching, surface and edge enhancement (image processing). Prerequisites: CS 220 and trigonometry.
CS 468 Internship
Half or full course
Students earn credit for computer-related activities performed at participating company or corporation sites. Normally, only full-time day students are eligible for this course.
Prerequisite: consent of the department chair.
CS 475 Software Engineering
An introduction to the concepts of design, development, and maintenance of large-scale software systems. Chief programmer teams, the software life cycle, and underlying related topics are covered, including requirement analysis, implementation techniques, validation, verification, maintenance, documentation, user interfaces, reliability, software development tools and programming environments. Various cost-estimation models are also introduced. Prerequisites: CS 420 and CS 435 or consent of the department. Annually.
CS 485 Advanced Data Structures and Algorithmic Analysis
Further study of the methods of specifying and implementing abstract data types. A systematic study of algorithmic design techniques and combinatorial time/space complexity analysis. An introduction to the classes of P, NP and NP-complete problems. Prerequisites: MTH 301 and CS 475. Upon request.
CS 490 Advanced Web Design
This course covers the design and development of sophisticated Web sites using a variety of web-development tools such as Director and Flash. The student will design and develop Web sites that utilize video and audio features, as well as graphics, text and animation. Issues related to client side and server side aspects of Web sites are also discussed. Prerequisite: CS 315.
CS 492/292 Independent Study
Half or full course
CS 495 Honors Independent Research
This course gives Honors Program students the opportunity to design and implement a significant research project in the field of computer science culminating in an appropriate public dissemination of research methods and findings. This research must build upon previous coursework taken within the major or minor, facilitating faculty supervision and guidance. Repeatable for credit. Permission of the faculty supervisor and the director of the Honors Program required prior to registration.
IS 100 Programming GIS Applications
This course will introduce the student to computer programming. It is oriented toward Geographical Information Systems (GIS) applications. The course initially covers essential object oriented programming (OOP) concepts such as the use of objects, properties, methods and events; how to set and use variables; how to write procedures and link them to the user interface; how to program using sequence, selection and repetition structures. The basics of using ArcObjects are discussed, including the ArcObject architecture, how to read object model diagrams, and how to use programming interfaces. An introduction to geoprocessing scripts is given.
IS 200 Design and Development of Geodatabases
This course will give the student an in-depth look into the design and development of a database. The course initially covers essential relational database theory and normalization. A comprehensive presentation of Structured Query Language (SQL), a computer industry-standard syntax language for querying and manipulating a relational database, is then provided. The geodatabase model is presented including feature classes and datasets, relationship classes and topology. A number of pertinent case studies are presented. The student will also experience hands-on designing, building and efficient use of geodatabases. Prerequisite: IS 100.
IS 221 Computer-Based Productivity Tools
An introduction to the use of computer-based productivity tools. Emphasis on the use of word processing, spreadsheets and database management packages.
IS 224 Visual BASIC Programming Language
This course introduces Visual BASIC programming language. The student will write programs in Visual BASIC that demonstrate the features of the BASIC language including control structures, input/output operations and use of library functions such as those that perform WINDOWS applications and data base interfacing. This course is recommended not only for IS and CS majors, but also for students majoring in business, the natural sciences, mathematics, and other disciplines where programming a personal computer is required. Prerequisite: CS 220.
IS 311 RPG Programming Using the AS/400 Computer
An introduction to the Report Generation Language (RPG) and the implementation of programs written in this language on the AS/400 computer. Topics include characteristics of the RPG language, programming in RPG, and use of the AS/400 menus and control language to execute RPG programs. Prerequisite: CS 220.
IS 314 Operating System Interfaces
A survey of various operating systems as seen from the user’s point of view. Prerequisite:
IS 325 File Processing with COBOL
An introduction to file processing techniques using COBOL. Topics include tape and disk storage, conventional file organizations, sorting techniques and fundamental database management system principles. Prerequisite: CS 220.
IS 327 Advanced Programming Tools and Techniques
An in-depth study of advanced programming tools and techniques available to the applications programmer. Topics include structured design methodologies, fourth-generation languages, application development tools and debugging tools. Prerequisite: IS 325.
IS 380 Decision Support Systems
Decision making and problem solving utilizing the various quantitative models commonly used to improve and enhance business intelligence within an organization. Such models to include inventory theory, exponential smoothing, artificial neural networks, waiting line models and stochastic processes. Practical applications of artificial intellence and a discussion of data mining techniques are included. Prerequisites: MTH 162 , MTH 345.
IS 423 Data Base Management Systems
Topics include an integrated and detailed comparison of relational, hierarchical, and network data base systems. Data base design and physical storage requirements, including distributed data base design and related management issues, are discussed. High-level query languages using artificial intelligence techniques are reviewed along with other topics such as data base compression, encryption and security. Prerequisite: CS 220.
IS 424 Introduction to Systems Analysis and Design
A study of the phases of analysis, design and implementation of information systems. Topics include fact-gathering techniques, design of output, input, files, presentation techniques, system processing, project management, system testing and documentation. A structured approach to system design and development is emphasized. Prerequisite: CS 220.
IS 425 Management Information Systems
Fundamentals of information systems in
organizations, with a focus on the impact of information systems on organizational behavior, communications and managerial style. The use, misuse, and management of computer-based systems and their integration with organizational goals are emphasized. Information systems in the functional areas of marketing, production and finance are studied. The case study method is used. Prerequisite: IS 424. Spring Term.
IS 495 Honors Independent Research
This course gives Honors Program students the opportunity to design and implement a significant research project in the field of information systems culminating in an appropriate public dissemination of research methods and findings. This research must build upon previous coursework taken within the major or minor, facilitating faculty supervision and guidance. Repeatable for credit. Permission of the faculty supervisor and the director of the Honors Program required prior to registration.