Computer Programming (COP)

COP 1000  Principles of Programming  
Credit Hours:   3  
Lab Fee: Yes  

This is a beginning level course teaching the essentials of logical computer programming (CP) design techniques, which use pseudocode terminology to create language independent algorithms (LIAs). Topics include the programming development process (PDP), flowcharts, the basic computer operations (COs), the use of arithmetic, assignment, logical, relational, increment, and decrement operators, input, output, constants, elementary data types (EDTs), file types, data structures types (DSTs), selection control structures (SCSs), repetition control structures (RCSs), single dimensional arrays, and using security coding techniques for validating user input. A current programming language will be used as a platform to demonstrate the LIAs.

COP 1657  Introduction to Mobile Applications Programming  
Credit Hours:   3  
Prerequisites: CGS 1000 with a grade of "C" or higher  
Lab Fee: Yes  

This course provides an introduction to mobile applications programming on popular operating system platforms. Students will become familiar with the software for creating mobile applications and the process of using the software development kit for each platform. Students will create, build, and run simple applications on each platform.

COP 2047  Python Programming  
Credit Hours:   3  
Prerequisites: COP 1000 with a grade of "C" or higher  
Lab Fee: Yes  

This course is an introduction to the Python programming language. Topics include variables, data types, decision structures, loops, functions, input/output operators, data structures, and classes. Object-oriented programming concepts are introduced.

COP 2334  Introduction to C++ Programming  
Credit Hours:   3  
Prerequisites: COP 1000 with a grade of C or higher  
Lab Fee: Yes  

This course is an introduction to the C++ programming language syntax. Topics include implementation of loops, decision structures, functions, input/output operations, arrays, structures, and overloading. Introduction to object-oriented paradigms of classes, data abstraction, and encapsulation. In addition, secure application development concepts are reviewed.

COP 2335  C++ Programming Advanced  
Credit Hours:   3  
Prerequisites: COP 2334 with a grade of C or higher  
Lab Fee: Yes  

This course is a continuation of introduction to C++ programming. Topics include pointers, recursion, operator and function overloading, information hiding, inheritance, virtual functions (polymorphism), and traditional object-oriented programming. Standard data structures including array, stacks, queues, linked lists, and their implementation are covered. In addition, secure application development concepts are reviewed.

COP 2360  C# Programming  
Credit Hours:   3  
Prerequisites: COP 1000 with a grade of "C" or higher  
Lab Fee: Yes  

This course introduces the student to the C# programming language. Topics include language syntax, data types, arithmetic expressions, logical expressions, control structures, repetitive control structures, arrays, collections, and string manipulation. C# object oriented programming concepts including classes, inheritance, and polymorphism are covered. Students develop C# program applications using a software integrated development environment (IDE).

COP 2362  C# Programming Advanced  
Credit Hours:   3  
Prerequisites: COP 2360 with a grade of "C" or higher  
Lab Fee: Yes  

Advanced topics using the C# language including, collections, multi-threading, inheritance, generics, polymorphism, XML documents, LINQ, GUI forms and controls, and interaction with databases and web services. Students will develop C# program applications using a software IDE (Integrated Development Environment).

COP 2671  Mobile Applications Development  
Credit Hours:   3  
Prerequisites: COP 1657 and COP 2334 or COP 2360 or COP 2800 - both courses with a grade of "C" or higher  
Lab Fee: Yes  

This course provides project experience in the development of mobile applications on popular device platforms and cross-platform development. The course examines object-oriented programming concepts and their application to mobile application development. Students are introduced to mobile application interface design, learn how to use persistent data in a mobile application, and explore the process of adding images, sound, and video to applications.

COP 2700  Database Techniques  
Credit Hours:   3  
Prerequisites: CGS 2100 with a grade of C or higher  
Lab Fee: Yes  

This course introduces Relational Database Management System (RDBMS) data modeling concepts, database normalization process, entity relationship concepts, intermediate Structured Query Language (SQL) programming, physical design issues including centralized and distributed design, concurrency, transaction processing, locking methods, database administration roles and responsibilities, and database security.

COP 2800  Introduction to Java Programming  
Credit Hours:   3  
Prerequisites: COP 1000 with a grade of "C" or higher  
Lab Fee: Yes  

This course is an introduction to Java programming. The topics include loops, decision structures, input output (I/O) operations, arrays, references, classes, objects, inheritance, and data encapsulation. An introduction to GUI design using Java's Swing Package and other Java predefined packages is examined.

COP 2805  Advanced Java Programming  
Credit Hours:   3  
Prerequisites: COP 2800 with a grade of "C" or higher  
Lab Fee: Yes  

The course focuses on advanced Java programming concepts, including interfaces, packages, exception handling, and database interaction using Java Database Connectivity (JDBC), multithreading, and networking capabilities. This course is a continuation of Java's object-oriented features with major emphasis on class implementation. Advanced graphical user interface (GUI) design is implemented using Java's Swing package with a major emphasis on event handling. In addition, secure application development concepts are reviewed.

COP 2812  Introduction to XML  
Credit Hours:   3  
Prerequisites: CGS 2100 or COP 2822 with a grade of "C" or higher  
Lab Fee: Yes  

This course is an introduction to extensible markup language (XML). Topics include using document type definitions (DTD's), XML schema, cascading stylesheets (CSS) and extensible stylesheet language to create well-formed and valid XML documents. XML provides users with a uniform method for describing and exchanging structured data that is independent of applications or vendors.

COP 2822  Web Page Authoring  
Credit Hours:   3  
Prerequisites: CGS 2100 with a grade of "C" or higher  
Lab Fee: Yes  

This course is designed to introduce the skills necessary for creating websites. The course uses the current versions of Hypertext Markup language (HTML) and Cascading Style Sheets (CSS). Topics include using graphics, audio, animation, video, tables, forms, using embedded and external CSS coding, and implementing security strategies.

COP 2948  Service Learning Field Studies 1  
Credit Hours:   1  

This course gives students opportunity to understand the relationship of theory to practice through participation in a service-learning experience. Students are required to complete 20 hours of volunteer work, a service-learning contract, and an oral and written reflection of the experience.

COP 3330  Object Oriented Programming  
Credit Hours:   3  
Prerequisites: COP 2334 with a grade of C or higher and admission to Bachelor's program required  
Lab Fee: Yes  

This course explores the concepts of Object-Oriented Programming (OOP) including abstraction, encapsulation, inheritance, polymorphism, and multithreading. Students will design, write, compile, execute, and debug Java object-oriented programs. Students will be introduced to software development tools including an Integrated Development Environment (IDE), a source code version control system, a unit testing framework, and the Unified Modeling Language (UML). In addition, the use of cryptographic libraries will be introduced.

COP 3530  Data Structures and Algorithm Analysis  
Credit Hours:   3  
Prerequisites: COP 2334 or COP 2800 with a grade of "C" or higher  

This is an elementary course in data structures and algorithm analysis. Topics include basic data structures, complexity analysis, sorting, hash tables, trees, queues, graphs, recursion, dynamic programming algorithms, and nondeterministic polynomial time (NP)-completeness.

COP 3703  Database Design and Architecture  
Credit Hours:   3  
Prerequisites: COP 2700 with a grade of C or higher and admission to Bachelor's program required  

This course is an in-depth study of Database Management Systems (DBMS), information management, and retrieval concepts. The course focuses on the relational database model including the design and implementation of a database using a commercial DBMS. Key topics include an overview of database systems, database design, the relational model, physical design, indexing, transaction management, concurrency management, and backup & recovery.

COP 3813  Internet Programming  
Credit Hours:   3  
Prerequisites: COP 3330 with a grade of "C" or higher  
Lab Fee: Yes  

This course includes an overview of web systems, web standards, server configuration and portal design. Students will apply the fundamentals of interactive web design with a focus on active server pages programming.

COP 4655  Application Development for Mobile Devices  
Credit Hours:   3  
Prerequisites: COP 3330 with a grade of "C" or higher and departmental approval or admission to Bachelor's program required  
Lab Fee: Yes  

An introduction to development techniques for mobile devices. This course covers the components for creating basic and more advanced mobile device applications including user interface (UI) components, persistence of data, application packaging, and more advanced interfaces of the mobile phone software developers kit (SDK). Students will design and develop applications for mobile devices. Sample applications that illustrate features and focus on UI implementation will be compiled and debugged. Students will master memory management techniques, delegation, archiving, and the proper use of view controllers. Students will learn to search and understand reference documentation so they can make use of the many methods and classes available in a mobile application platform.

COP 4849  Web Applications Programming  
Credit Hours:   3  
Prerequisites: COP 2805 or COP 3330 and CTSC 1134, COP 2700, COP 2822 and COP 3813 - all courses with a grade of "C" or higher and departmental approval and admission to Bachelor's program required  

The courses introduces the concepts and methods of configuring web-based servers and employing current server-side scripting language to create, test and debug server applications. Students will be introduced to the concepts of employing client-side scripting languages to create, test, and debug browser-based (BB) applications that communicate with the servers.

COP 4930  Internship  
Credit Hours:   3  
Prerequisites: Departmental approval or admission to Bachelor's program required  

This course will expose students to real world application in a business setting. Students will obtain career-related experiences to utilize their classroom knowledge and skills.