CSC 109 Algorithm Development (1 credit)

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 course covers the manner in which the computer is used to solve problems. Lectures cover the style and techniques necessary to solve problems using the Visual Basic programming language. Object-oriented programming (OOP) will be covered. This course will allow students to take advantage of the many new capabilities of building applications in a graphical user interface (GUI).

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 code generated 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 POI.

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 (4 credits)

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. Four lecture hours and one optional recitation hour per week. Prerequisite: CSC 110 or CSC 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 (4 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 Development Environment, Object-Oriented Programming, C# Language and Application Structure, basic GUI constructs, and basic concepts of XML. This course may not be used to fulfill a Liberal Arts elective. Prerequisite: CSC 112 or Permission of Instructor.