Course Descriptions

CS 100 Introduction to Information Technology   3 CR
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 and some work with the Internet. This course provides the knowledge and understanding necessary to communicate effectively in the personal computing environment of business today. Non-majors only.

CS 101 Web Design and Visual Tools for non majors   3 CR
This course aids in the understanding of the design and production of web sites. It presents the design elements that go into web page development. Students browse sites and identify good design elements. They construct their own web page early on and allow it to evolve throughout the semester. Prerequisite: CS 100 or permission of department chair. Non-majors only.

CS 102 Multimedia for non majors   3 CR
This course aids the non-programmer 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 some of the scripting language, ActionScript, to choreograph media objects onto a stage using a score. Prerequisite: CS 100 or permission of department chair.

CS 104 Digital Animation and Gaming for non majors   3 CR
This 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; publishing and exporting a game to the web.

CS 106 Introduction to Information Technology for Business Administration for non majors   3 CR
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.

CS 110 Introduction to Computer Science   3 CR
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. Prerequisite: computer science major or permission of department chair.

CS 111 Introduction to Structured Programming   3 CR
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. Prerequisite: CS 110 or permission of department chair.

CS 112 Data Structures   3 CR
A continuation of CS 111 using a structured programming language to implement multidimensional arrays, stacks, queues, linked lists and binary trees. Also introduces recursion and generic packaging. Prerequisite: CS 111

CS 113 Discrete Structures   3 CR
Presents mathematical concepts for computer science, including sets, relations and functions; partitions; order relations; countability; permutations and combinations; probability; recurrences; big-Oh notation; elements of abstract algebra such as groups, rings and Boolean algebras. Prerequisite: MA 006

CS 170 Introduction to Video Game Production 3 CR
This course provides an overview of video game production. The course covers the phases of game production, the role of the publisher and developer, and information on how to manage teams. In addition, information is presented on basic design elements that are used when creating the game concept. The course concludes with a discussion of marketing and public relations. Open to all majors. Prerequisite: None

CS 171 Introduction to Computer Gaming   3 CR
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. Co-requisite: CS 111

CS 215 Computer Systems Organization with Assembler   3 CR
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. Prerequisite: CS 112

CS 232 Human-Computer Interaction   3 CR
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: CS 100 or CS 112

CS 233 Visual Basic   3 CR
Explores the use of controls and tools, forms, menus, frames, file browsers and buttons, creating windows inters for databases, linking to Windows and Excel, and writing and debugging Visual Basic code. Uses Prerequisite: CS 112

CS 241 Advanced Programming Concepts Using “C”   3 CR
Covers advanced programming techniques in “C,” using pointers, data structures and recursion. Emphasis on functions and use of make files. Prerequisite: CS 112

CS 261 Programming for the Web   3 CR
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 d by webmasters today are also discussed. Prerequisites: CS 111 and sophomore status

CS 271 Advanced Computer Gaming   3 CR
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: CS 171

CS 272 OOP with C# and Games   3 CR
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: CS 271

CS 299 Special Topics I   3 CR
Various courses of current interest to the Computer Science major are introduced from time to time. Prerequisite: Sophomore status

CS 311 Database Design   3 CR
Explores fundamentals of database design theory and applications. Includes data models with emphasis on the relational model. Prerequisites: CS 112 and CS 215

CS 312 Software Engineering   3 CR
The study of software development methodology, both procedural and object oriented. 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. Prerequisite: CS 311

CS 318 Project Course   3 CR
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.  Prerequisites: Senior status and permission from Computer Science Department.

CS 319 Computer Ethics   3 CR
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. Prerequisites: Junior/Senior status, PH 101 or permission of instructor.

CS 331 Multimedia Applications   3 CR
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 it ActionScripting to choreograph media objects onto a stage using a score. It is designed for students with programming experience. Prerequisite: CS 112

CS 333 Theory of Computer Gaming
Our students are good at building games. The gaming theory course asks them to add a new skill set: What makes my game effective for the player, and how is it different from any other art form? What will be particularly valuable to our students is to look at distinguishing characteristics of a computer game versus other art forms. The course asks the following questions: Why is narratology theory inadequate for the gaming situation? How does narratology help us in developing the importance of backstory? Is a computer game a cybertext, a rule-based system, a simulation? Some current theory asks the question of whether a computer game is just a film with an agent added to it. What is the distinguishing characteristic? Prerequisites: CS 271

CS 338 Systems Analysis and Design   3 CR
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: CS 312

CS 339 Networking and Data Communication   3 CR
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 and MANs; hardware, software, protocols, routing, circuit-switching and packet-switching networks, analog and digital systems, compression and error handling are among those studied. Students use a simulation package to design and simulate networks. Prerequisites: CS 338 or CS 341 and senior status.

CS 341 Analysis of Algorithms   3 CR
Emphasis on theory and techniques underlying the analysis of algorithms including big/little-Oh, graphs and networks, searching, sorting, recursion and classical algorithms. Prerequisites: CS 112 and MA 151

CS 348 The Anatomy of Programming Languages   3 CR
Studies the structure of programming languages, their similarities and their differences. It examines semantics and formal description of languages, names and bindings, modeling objects, expressions and evaluation, functions and parameters, control structures, functional languages, logic programming, types, modules and objects, generics and dispatching with inheritance. Students are expected to program in three different languages that illustrate the theory they are studying. An independent project will also be developed using one of these three languages. Prerequisites: CS 241 and CS 341

CS 349 Operating Systems   3 CR
Examines resource management, including memory allocation and management, virtual memory, process scheduling, protection, deadlock and concurrency, case studies and multiprocessing. Prerequisite: CS 341

CS 367 Managing, Securing and Designing Modern Networks   3 CR
Topics include wireless and mobile networks, multimedia networking, management, security and network design
Prerequisite:  CS 339

CS 368 Hands-On Network Security   3 CR
This course uses VMWare of Connectix Virtual PC to simulate different environments.  Network security topics include firewalls, public key infrastructure and vulnerability assessment. Prerequisite: CS 367

CS 371 Advanced Computer Graphics   3 CR
A game oriented programming course focusing on advanced graphics techniques using OpenGL and/or DirectX. Prerequisite:CS 272

CS 372 Building Computer Games   3 CR
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; teaching a  game to think. Prerequisite:CS 371