CMPSC 115CS I: ESSENTIALS OF PROGRAMMING

3 Credit Hours (TC)
This course is designed to give students exposure to essential object-oriented programming concepts. The primary goal is to familiarize students to a disciplined approach to programming logic, problem-solving methods, algorithm development, and security awareness. The course teaches: program design, coding, testing, debugging, and documentation at the introductory level. When completed, the student will be able to solve programming tasks in socially responsible disciplined fashion. Students are expected to be Windows proficient prior to this course.


CMPSC 120BUSINESS COMPUTER SYSTEMS

3 Credit Hours (TC)
Designed primarily for students planning to major in business. Course will acquaint and train students in the use of business software including word processing, database management, spreadsheets, presentation software, and Internet access methods.

Pre-requisite: MATH 098 with a grade of "C" or better or equivalent


CMPSC 122INTRODUCTION TO COMPUTER SECURITY

3 Credit Hours (OC)
This course provides an overview of the fundamentals of computer security. Topics include security standards, policies, and best practices, principles, mechanisms, and implementation of computer security and data protection; security policy, encryption, and authentication; access control and integrity models and mechanisms; network security, secure systems; programming and vulnerabilities analysis; principles of ethical and professional behavior; regulatory compliance and legal issues; information assurance; risk management and threat assessment; business continuity and disaster recovery planning; and security across the life cycle (requirements, architecture and design, construction, testing, operation, maintenance, acquisition, and services).

Pre-requisite: CMPSC 115 or concurrent enrollment with department approval.


CMPSC 124EVENT-DRIVEN PROGRAMMING IN VISUAL BASIC

3 Credit Hours (TC)
This introductory course in event-driven programming will introduce the student to real world applications for the world's most widely used operating system, Microsoft Windows. The student will become familiar with how computers are programmed, the Visual Basic editor (IDE), control structures, procedures and functions, arrays, data types, graphics and graphical user interfaces, event-driven programming (task/object/event), error handling, and sequential and random access file processing. Concentration will be on writing well-planned and user-friendly programs. MS Windows proficiency is expected of students desiring to take this course.


CMPSC 125CS I: PROGRAMMING IN C++

3 Credit Hours (TC)
This course is an introduction to computer science; its primary purpose is to introduce a disciplined approach to problem-solving methods and algorithm development, emphasizing data and procedural abstraction. Using C++, the course teaches program design, coding, testing, debugging, and documentation.

Pre-requisite: MAT 098 with a grade of "C" or better


CMPSC 125CS I: PROGRAMMING IN C++

3 Credit Hours (TC)
This course is an introduction to computer science; its primary purpose is to introduce a disciplined approach to problem-solving methods and algorithm development, emphasizing data and procedural abstraction. Using C++, the course teaches program design, coding, testing, debugging, and documentation.

Pre-requisite: MATH 098 with a grade of "C" or better


CMPSC 128INTRODUCTION TO GAMES AND THEIR DESIGN

3 Credit Hours (OC)
This course presents a complete overview of the gaming industry with emphasis placed on learning the fundamental terminology. The principles of game design are covered in such a way that the student can see how they apply to the creation of a level or section of a game. In addition to the basic techniques, the student is introduced to the impact of visual design, theme, and atmosphere upon the enrichment of a game. Both 2D and 3D are covered along with limitations on design and the impact on the final product. Case studies reinforce these basic principles.


CMPSC 129INTRODUCTION TO GAME PROGRAMMING

3 Credit Hours (OC)
This course teaches the student the basics of programming computer games including data handling, code structures, event-handling, audio, sprites, animation, and realistic movement.

Pre-requisite: MATH 098 with a grade of "C" or better or concurrent enrollment, and computer proficiency.


CMPSC 135CS II: PROGRAMMING IN JAVA

3 Credit Hours (TC)
This intermediate course is the second in a sequence of Java object-oriented programming courses. The student is introduced to a disciplined approach to problem-solving with emphasis on algorithm development, in addition to an introduction to procedural and data abstraction. This course will cover control structures; program design, testing, and documentation using software assurance and ethical conduct.

Pre-requisite: CMPSC 115 with a "C" or better


CMPSC 140INTRODUCTION TO RELATIONAL DATABASES

3 Credit Hours (OC)
In this course, elementary relational database concepts will be presented. Database modeling will be explained and normalization will be discussed. Structured Query Language (SQL) and advanced database concepts will be introduced.

Pre-requisite: CMPSC 115, 124, 125, or 215 all with a grade of "C" or better or department approval


CMPSC 200C# PROGRAMMING

3 Credit Hours (OC)
This course introduces a current Object Oriented Programmer to the C# programming language, a part of the Microsoft.NET platform. All programming elements of the language are presented in a rapid survey of the language. Emphasis is upon interfacing with databases and class design. The skills needed to write console applications, Windows applications, and beginning Internet applications are presented.

Pre-requisite: MATH 098 with a grade of "C" or better or department approval


CMPSC 212CS II: ADVANCED PROGRAMMING IN C ++

3 Credit Hours (TC)
The second in the sequence of courses in C++ programming. This course covers: design and implementation of large-scale problems; abstract data types; data structures (files, sets, pointers, lists, stacks, queues, trees, graphs); text processing; and an introduction to searching and sorting algorithms.

Pre-requisite: CMPSC 125 with a grade of "C" or better


CMPSC 215COBOL AS A SECOND LANGUAGE

4 Credit Hours (OC)
This course is an introductory COBOL course which builds on prior programming experience. Structured programming design, implementation, testing, documentation using COBOL, arrays, records, string processing, and files are covered. Sorting and searching techniques and interactive programming will also be introduced. Specifically, direct access file techniques, master file update, and control break logic are covered. Program linkage and parameter processing are also introduced.

Pre-requisite: CMPSC 124 or CMPSC 125 with a grade of "C" or better or department approval.


CMPSC 222SECURE CODING

3 Credit Hours (OC)
This course covers security vulnerabilities of programming in weakly typed languages like C and in more modern languages like Java. Common weaknesses exploited by attackers are discussed, as well as mitigation strategies to prevent those weaknesses. Students practice programming and analysis of software systems through testing and static analysis.

Pre-requisite: CMPSC 135 with a grade of "C" or better or concurrent enrollment in CMPSC 135 with department approval


CMPSC 224ADVANCED VISUAL BASIC

3 Credit Hours (OC)
This second course in the event-driven programming sequence of Visual Basic will introduce the student to additional real world applications for the world's most widely used operating system, Microsoft Windows. The student will build and hone first semester skills, along with becoming familiar with object linking and embedding (OLE), ActiveX controls, collections, fundamental database concepts, database manipulation, Windows API and Registry manipulation, and Internet controls. Concentration will be on writing well-planned and user-friendly applications for business.

Pre-requisite: CMPSC 124 with a grade of "C" or better


CMPSC 235CS III: ADVANCED PROGRAMMING IN JAVA

3 Credit Hours (TC)
This is the third in the sequence of courses in secure Java object-oriented programming. This course covers: design and implementation of large-scale problems; abstract data types; data structures (files, sets, pointers, lists, stacks, queues, trees, graphs); algorithmic analysis; software engineering principles; software and information assurance; and an introduction to searching and sorting algorithms.

Pre-requisite: CMPSC 135 with a grade of grade of "C" or better or department approval


CMPSC 237MOBILE APPLICATION PROGRAMMING

3 Credit Hours (OC)
This course will cover the fundamental programming principles for mobile devices (excluding iOS). The software architecture and user experience considerations underlying handheld software applications and their development environments will be investigated. Concepts will be reinforced by students programming hands-­on assignments, which will be run on a current mobile platform. Students will apply these lessons and plan and develop their own viable applications.

Pre-requisite: CMPSC 124, CMPSC 125, CMPSC 135, or CMPSC 200 with a grade of "C" or better, or department approval.


CMPSC 245STRUCTURED QUERY LANGUAGE

3 Credit Hours (OC)
This course covers programming in the Structured Query Language. Students are taught to create and maintain database objects and to store, retrieve, and manipulate data. In addition, students learn to create blocks of application code that can be shared by multiple forms, reports, and data management applications. The student will learn how to write and apply triggers, procedures, and packages. Demonstrations and hands-on practice reinforce the fundamental concepts.

Pre-requisite: CMPSC 140 with a grade of "C" or better or department approval


CMPSC 249UNIX

3 Credit Hours (OC)
This course is an introduction to UNIX. In this course, file handling, text editors and shell programming are discussed.


CMPSC 262INTRODUCTION TO ASSURED SOFTWARE ENGINEERING

3 Credit Hours (OC)
This course covers the basic principles and concepts of assured software engineering; system requirements; secure programming in the large; modeling and testing; object-oriented analysis and design using the UML; design patterns; frameworks and API's; client-server architecture; user interface technology; and the analysis, design and programming of extensible software systems.

Pre-requisite: CMPSC 235 or concurrent enrollment


CMPSC 265DATABASE ADMINISTRATION

3 Credit Hours (OC)
This course is designed to give the database administrator (DBA) a firm foundation in basic administrative tasks and provide the necessary knowledge and skills to set up, maintain, and troubleshoot a relational database. The student learns to use an administration tool to startup and shutdown a database, create a database, manage file and database storage, and manage users and their privileges. In addition, the student learns to organize the database and to move data into and between databases under different environments. Hands-on practices help to reinforce key concepts.

Pre-requisite: CMPSC 245 with a grade of "C" or better or CMNET 210 with a grade of "C" or better or department approval


CMPSC 265DATABASE ADMINISTRATION

3 Credit Hours (OC)
This course is designed to give the database administrator (DBA) a firm foundation in basic administrative tasks and provide the necessary knowledge and skills to set up, maintain, and troubleshoot a relational database. The student learns to use an administration tool to startup and shutdown a database, create a database, manage file and database storage, and manage users and their privileges. In addition, the student learns to organize the database and to move data into and between databases under different environments. Hands-on practices help to reinforce key concepts.

Pre-requisite: CMPSC 245 with a grade of "C" or better or CMNET 210 with a grade of "C" or better or department approval


CMPSC 270STRUCTURED SYSTEM ANALYSIS

3 Credit Hours (OC)
This course presents to the student the SDLC, System Development Life Cycle, as the basis for the development of computer systems. Various analysis tools will be taught to aid students in the preparation of all aspects of system development.

Pre-requisite: CMPSC 215 or CMPSC 212 or CMPSC 235, any with a grade of "C" or better or department approval