CSC 109 Algorithm Development (1 credits)

This course teaches Computer Science students to develop solutions for simple and complex problems through top-down algorithm and pseudo-code design. Topics will include general program flow structures including linear processing, selection, and iteration. Students will learn the procedures to break problems into smaller pieces in order to develop, refine, and test their algorithms. Co-requisite: CSC 110 or 111, the student's first programming course.

CSC 110 Program Design and Development (4 credits)

This is a language dependent introduction course on computer program design and development. Emphasis is on the identification and solution of business problems through systems of computer programs. Programs are described and designed through such tools as program flowcharts, structure charts, and pseudocode. Within this framework, programming languages are treated as tools which can be selected, as appropriate, to implement the designs.

CSC 111 Fundamentals of Computing I (4 credits)

This course provides the foundation for a program of study in computer science. It introduces the discipline of computing and the roles of professionals. A contemporary high-level language with appropriate constructs for structured design and structured types is presented. It integrates an introduction to algorithm design, an understanding of abstraction applied to date types and structures, and an appreciation of imperative and object-oriented programming. Programming assignments are an integral part of this course.

CSC 112 Fundamentals of Computing II (4 credits)

This course develops the discipline of computing and the roles of professionals by introducing software engineering early in the learning process. This course formally presents abstract date types (ADTs). The ADTs presented are stacks, queues, lists, trees, graphs and tables. Simple sorting and searching techniques, along with their efficiency are studied. The use of pointers and recursion is covered. Programming assignments are an integral part of this course. Prerequisite: CSC 111.

CSC 162 Visual Basic I Programming (4 credits)

This is a language and platform (OS) dependent introduction course on computer program design and development. Lectures cover the style and techniques necessary to solve problems using the Visual Basic programming language. Basic concepts of object oriented programming will be covered. This course shows how to create programs using a graphical user interface (GUI). Students will demonstrate an understanding of how controls on the GUI interact with the program's code. In addition, they will demonstrate an understanding of Event Handlers. Implementation of design will be done using pseudo code using a top-down design approach.

CSC 211 Computer System Organization (4 credits)

This course emphasizes the organization and operation of real computer systems at the architectural level. The mapping of statements and constructs in a high-level language onto sequences of machine instruction is studied, as well as the internal representation of simple data types and structures. Topics include the fetch/execute cycle, bus structures, memory hierarchy, addressing modes, and subroutines. Alternative architectures, such as vector and parallel models, are presented. Three lecture hours per week. Prerequisites: CSC 110 or CSC 111.

CSC 221 Software Engineering (4 credits)

This course is the capstone course for the AS degree in Computer Science. The course focuses on software engineering and requires a major software project. Topics include: object-orientation, software design tools and techniques (such as data flow diagrams, structure charts, CRC cards, algorithms, pseudocode), software reuse, software test strategies, and documentation standards. Prerequisite: CSC 112.

CSC 222 Game Programming (4 credits)

This course is an introduction to game programming techniques and gaming development. Topics include 2D graphics and animation, sound technologies, interactivity, and multi-player games. Prerequisite: CSC 111 or permission of instructor.

CSC 224 Application Development for Mobile Devices (4 credits)

This course is an introduction to application development and techniques for mobile devices. Topics may include development of games, social applications, and other applications for mobile devices. Four lecture hours. Prerequisite: CSC 111 or permission of instructor.

CSC 250 Server Administration (3 credits)

This course is an introduction to the administration of servers operating in a client server environment. Students will be introduced to the system software running client server networks, and will learn to install, configure, monitor, and manage a network server. Specific topics include server software installation, protocols, shells, system and user administration, scripts, and daemons. Students will be exposed to several different operating systems and several server applications, such as Web, ftp, database, and mail servers. Three lecture hours. Prerequisite: CIS 130 or permission of instructor.

CSC 255 Database Design and Development (3 credits)

The fundamentals of database design and implementation are introduced with an emphasis on data relationships. Utilization of a Database Management System (DBMS) and its components will be covered, along with Structured Query Language (SQL) and data security techniques. Prerequisite: CIS/CSC major with sophomore standing.

CSC 263 C++ Programming (3 credits)

This course is an introduction to the C++ language, which provides software developers with an "extendable" language in which abstract data types suitable for a given application can be created and then used as naturally as built in data types. While based on the C programming language, C++ provides data and function encapsulation, function overloading, inheritance, strong typing, and other features needed for object-oriented programming (OOP). This makes C++ a true high level language suitable for professional software engineering. The language constructs and OOP methods are introduced with a series of examples of increasing sophistication, which are the basis of project assignments. Prerequisite: CSC 110, 111, or permission of instructor.

CSC 264 Java Programming (4 credits)

This course introduces object-oriented Java using current technical advances in programming methodology, Web-based applications, and applications for hand-held devices. Java methods, classes, objects, inheritance, graphics, animation, and networking are discussed. Four lecture hours per week. Prerequisite: CSC 111 or permission of instructor.

CSC 280 C#.Net Programming (3 credits)

This course focuses on the language and programming fundamentals of the C# language and object-oriented programming in the context of the .NET development environment. Topics covered will include: The .NET platform, including common language runtime and framework, Visual Studio Development Environment, Object-Oriented Programming, C# Language and Application Structure and basic GUI constructs. This course may not be used to fulfill a Liberal Arts elective. Prerequisite: CSC 110, 111, or permission of instructor.