Computer Programming (COP)
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.
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.
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.
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.
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 arrays, stacks, queues, linked lists, and their implementations are covered. In addition, secure application development concepts are reviewed.
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).
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).
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.
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 designs, concurrency, transaction processing, locking methods, database administration roles and responsibilities, and database security.
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.
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.
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.
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.
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.
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.
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.
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, recovery, and tuning.
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.
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.
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.
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.