Academic Catalog

CS - Computer Science

CS 100  Introduction to Information Technology  

(formerly DPR 100) This course is designed to provide an introduction to Information Technology (IT) concepts and applications, and the impact of IT on individuals, organizations, and society. Core content includes computer hardware and software, digital communications, the Internet, databases, networking, programming, computer security, ethics in IT, and current and emerging digital technologies.

Upon successful completion of this course, students should be able to:
Identify the types of computers and describe their purposes.
Describe how the components of a computer system function.
Use system software and utility programs for maintenance, security, and organization purposes.
Use word processing software to create, edit, format and save various documents.
Use spreadsheet, software to construct formulas, use functions, chart and analyze data; and to create, edit, format, and a save spreadsheet.
Use database software to create a query, form, and report.
Use presentation software to create, edit, format and save a presentation.
Describe the importance of computer programming.
Describe the benefits of networks and computer security implications.
Describe the legal, ethical, and privacy issues concerning IT.
Use the internet for research, evaluate, and use information.
Use digital technologies to communicate and work collaboratively.
Research and evaluate career opportunities that utilize IT skills.
Develop an e-Portfolio comprised of academic artifacts.

College Academic Learning Goal Designation: Information Technology (TC)

Prerequisites: REA 050 or ENG 099 or REA 075. Appropriate placement test scores may be accepted.

3 Credits3 Weekly Lecture Hours

CS 101  Introduction to Computer Science  

(formerly DPR 101/DPR 108) An engaging and approachable course that explores many of the foundational concepts of computer science and programming. Develop problem-solving, logic and critical reasoning skills as you learn basic programming structures and concepts common to all programming languages. Covers the fundamentals computer science as well as planning, coding and debugging computer programs. Learn about using computers to process information, find patterns and test hypotheses about digitally processed information to gain insight and knowledge. This is an introductory level course and previous programming experience is not necessary.

Upon successful completion of this course, students should be able to:
Identify and select appropriate programming tools for application development.
Design and implement algorithms in a programming language that involve the use of iteration and boolean logic.
Develop programs that use variables, constants and arrays.
Create programs that can perform basic arithmetic operations.
Construct modular programs using functions.
Use appropriate tools and strategies for debugging and avoiding errors.
Summarize the professional, cultural, legal and ethical issues related to computer science.
Identify career paths available in computer science and determine professional education and training standards.
Apply the process of software development including design, implementation, documentation and testing.
Learn about using computers to process information, find patterns and test hypotheses about digitally processed information to gain insight and knowledge.
Explain how binary sequences are used to represent digital data.

College Academic Learning Goal Designation: Critical Reasoning (CR), Information Technology (TC)

Prerequisites: ((ENG 050 and REA 050) or ENG 099 or REA 075) and (MAT 050 or MAT 060). Appropriate placement test scores may be accepted.

3 Credits3 Weekly Lecture Hours

CS 102  Introduction to Python  

Students learn the fundamentals of designing, developing, and testing computer programs using the Python programming language. Problem-solving, logic and critical reasoning skills are emphasized as you learn to create programs with Python. Covers the fundamentals of computer science as well as planning, coding and debugging computer programs. This is an introductory level course and previous programming experience is not necessary. NOTE: Computer Science and IT majors may substitute this course for DPR 101 - Introduction to Computer Science.

Upon successful completion of this course, students should be able to:
Define basic computing and programming terms.
Navigate through the Python development environment.
Explain and use data, operations, functions and data types in a Python program.
Apply the correct control and iterative structures to a Python program.
Use mathematical equations in the creation of a Python program.
Design, write, test and debug a Python program to implement a working solution to a given problem specification.
Use Python documentation or a knowledge base to resolve technical issues.
Appropriately implement the major steps in the analysis, design and development of a Python computer program.
Explain how binary sequences are used to represent digital data.
Explore career opportunities in computer-science, personal computing and business applications programming.

College Academic Learning Goal Designation: Critical Reasoning (CR), Information Technology (TC)

Prerequisites: ((ENG 050 and REA 050) or ENG 099 or REA 075) and (MAT 050 or MAT 060). Appropriate placement test scores may be accepted.

3 Credits3 Weekly Lecture Hours

CS 104  Introduction to Java Programming  

(formerly DPR 104) This course teaches the fundamentals of analyzing problems and designing, developing and testing computer programs to solve them utilizing Java in an Integrated Development Environment (IDE). The course introduces the fundamental concepts and techniques for programming including simple data structures, algorithms, variables, control structures (decision and looping), text files, method writing, and arrays as well as simple shapes and Graphical user Interface (GUI) basics.

Upon successful completion of this course, students should be able to:
Define basic computing and programming terms.
Navigate a Java IDE to write and debug Java programs.
Identify and use the basic concepts and principles of structured programming.
Explain and use data, operations, functions, and data types.
Apply the correct control and iterative structures to a program.
Implement simple GUIs and write programs that display simple shapes.
Use mathematical equations in the creation of a computer program.
Design, write, test and debug a Java program to implement a working solution to a given problem specification.
Use documentation or a knowledge base to resolve technical issues.
Implement the major steps in the analysis, design and development of a computer program.
Explore career opportunities in computer science, personal computing and business applications programming.

Prerequisites: CS 101 or DPR 101 or DPR 108.

3 Credits3 Weekly Lecture Hours

CS 105  Management Information Systems  

(formerly DPR 105) This introductory course in managing information systems defines business processes, integrates these processes with computer technology, explains the flow of information in a business, and examines the use of information in business management. Business topics are integrated with information systems concepts. The course is designed for students using computer technology in a business environment. This course provides a real world process-oriented component to business education. Selected exercises using MS Office, MIS software, and business simulation games on the Internet are used in this course.

Upon successful completion of this course, students should be able to:
Explain what a business information system is and identify key components.
Outline the phases and steps in the information system development process.
Define business and computer technology terminology.
Give examples of how business information systems can break time, geographic, cost, and structural barriers in business.
Identify how business information systems are affecting the structure and activities of organizations.
Diagram typical flows of information in business operations.
Examine specific ethical principles of conduct and apply an ethical analysis to a difficult business information systems situation.
Identify business software tools that complete word processing, prepare spreadsheets, perform research, design databases, and prepare presentations.
Demonstrate a fundamental knowledge of how business processes and computer technology improve effectiveness of organizational goals.
Explain how information systems can improve management decision-making effectiveness.

Prerequisites: CS 100 or DPR 100 or CS 101 or DPR 101 or DPR 108.

3 Credits3 Weekly Lecture Hours

CS 106  Art and Animation  

(Formerly CS 121) This course introduces students to digital art and animation using Adobe Animate and Blender. Students will learn the fundamentals of creating animations, including character design, storyboarding, and motion graphics. The course will cover both software programs' essential techniques, tools, and features to produce high-quality animation projects. Additionally, course content covers the knowledge and skills needed to prepare students for the Adobe Certified Profession in Multiplatform Animation Using Adobe Animate exam.

Upon successful completion of this course, students should be able to:
Apply the principles of animation to create animations.
Create vector graphics and bitmap images in Adobe Animate for use in animation projects.
Design and develop characters using Adobe Animate and Blender.
Develop storyboards and animatics to guide animation projects.
Use the Adobe Animate timeline and motion editor to create animations.
Utilize keyframe animation in Adobe Animate and Blender.
Export animation projects for different platforms and file formats.
Create motion graphics and interactive animations using Adobe Animate.
Apply the foundational principles of 3D modeling, rigging, and animation using Blender.
Apply industry-standard workflows and techniques for creating high-quality animations.
Utilize effective communication techniques for sharing design plans with colleagues and clients.

Prerequisites: ((ENG 050 and REA 050) or ENG 099 or REA 075) and (MAT 050 or MAT 060). Appropriate placement test scores may be accepted.

3 Credits3 Weekly Lecture Hours

CS 107  Helpdesk Concepts  

(formerly DPR 107) This course provides students with a practical introduction to Help Desk concepts. Topics covered include the different types of help desks and how they are measured by organizations; the roles and skills required to function in a Help Desk environment; and the processes and technologies commonly employed to ensure the Help Desk is operating efficiently and effectively.

Upon successful completion of this course, students should be able to:
Discuss the components of a successful Help Desk.
Discuss the emerging support center concepts.
Distinguish between the different types of Help Desks, such as centralized, decentralized, internal, external.
Use required business and technical skills.
Discuss job responsibilities of Help Desk personnel.
Discuss Help Desk processes and procedures.
Apply the technological aspects of the Help Desk.
Apply the informational aspects of the Help Desk.

Prerequisites: CS 100 or DPR 100.

3 Credits3 Weekly Lecture Hours

CS 110  Introduction to C++  

(formerly DPR 110) The purpose of the course is to teach students the fundamentals of analyzing problems and designing, developing and testing computer programs to solve them, utilizing C++ in an Integrated Development Environment (IDE). The course introduces the basic concepts of programming C++ programming language syntax, and progresses through the techniques of using logical structures such as decision making and loops, using data structures such as arrays, and using functions for logical code organization and re-use.

Upon successful completion of this course, students should be able to:
Define basic computing and programming terms.
Navigate through the C++ editor, compiler, and runtime environment.
Explain and use data, operations, functions and data types.
Apply the correct control and iterative structures to a program.
Use mathematical equations in the creation of a computer program.
Design, write, test and debug a program to implement a working solution to a given problem specification.
Use documentation or a knowledge base to resolve technical issues.
Implement the major steps in the analysis, design, and development of a computer program.
Explore career opportunities in computer science, personal computing, and business applications programming.

College Academic Learning Goal Designation: Information Technology (TC)

Prerequisites: CS 101 or DPR 101 or DPR 108.

3 Credits3 Weekly Lecture Hours

CS 111  Computer Applications  

(formerly DPR 111) This is a comprehensive hands-on personal computer applications course specifically designed for students to develop an intermediate knowledge of word processing software, spreadsheet software, database software and presentation software. Additional topics include an overview of the components of a microcomputer system; hardware and software; storage devices and media; interpretation of error messages, file management, files storage, and Internet research.

Upon successful completion of this course, students should be able to:
Differentiate between hardware and software.
Identify various storage devices and media.
Manage files and folders.
Navigate to information stored on the computer.
Perform tasks using features common to integrated software programs.
Demonstrate computer skills using application software on a personal computer.
Use word processing software to create, edit, and format documents.
Apply intermediate word processing skills to solve application-type problems using word processing software.
Design, create, modify, and format worksheets and workbooks using spreadsheet software.
Design databases and create, edit, and modify database objects.
Design, create, enhance, organize, and view presentations using presentation software.
Use the Internet to navigate the Web using URL and Hyperlinks, to create and delete bookmarks, to compose, view, send, receive, and print e-mail messages.

Prerequisites: REA 050 or ENG 099 or REA 075. Appropriate placement test scores may be accepted.

3 Credits3 Weekly Lecture Hours

CS 113  Database Management Systems  

(formerly DPR 113) This course provides students with an introduction to database concepts, data models, and Database Management System (DBMS) software applications. Students examine, design, create and query relational and non-relational database systems. Hands-on activities involve one or more of the database systems currently used in the industry.

Upon successful completion of this course, students should be able to:
Discuss the conceptual and physical aspects of relational database architecture.
Apply the standards for relational database design and apply them to the database design of a specified application.
Design, develop and manipulate a relational database.
Demonstrate mastery of writing and executing SQL statements.
Discuss the advantages and use-cases for using NoSQL databases over traditional relational DBMS.
Identify the types of NoSQL databases (document, key-value, wide-column, graph).
Demonstrate schema definition and querying using one or more NoSQL database systems.

Prerequisites: CS 100* or DPR 100 or CS 101* or DPR 101. *Courses marked with a star may be taken concurrently.

3 Credits3 Weekly Lecture Hours

CS 115  Microsoft Excel  

(formerly DPR 115) This hands-on course provides a comprehensive presentation of Microsoft Excel. The more advance features of Microsoft Excel are stressed.

Upon successful completion of this course, students should be able to:
Develop Excel worksheets that include formulas and functions.
Use Excel to develop professional-looking worksheets.
Develop charts and graphs.
Use Excel to manage financial data.
Use Excel to create static and dynamic Web pages.
Use Excel to work with multiple worksheets and workbooks.
Use Excel for data manipulation with database functions, lookup function, and templates.
Enhance Excel worksheets with Visual Basic and Macros for applications.
Use Excel worksheet for "What-If-Analysis".
Import data into Excel worksheets from other Microsoft applications.

Prerequisites: CS 100 or DPR 100.

3 Credits3 Weekly Lecture Hours

CS 116  Introduction to Online Research Strategies  

(formerly DPR 116) This course is designed to teach students effective research skills using the internet. Students will learn effective research strategies for retrieving, evaluating and using information from internet web sites, internet-based subscription databases, and various Web 2.0 applications. The development of critical thinking skills for college level research assignments and lifelong learning will be stressed. Ethical and legal aspects regarding the use of information will be discussed.

Upon successful completion of this course, students should be able to:
Distinguish free internet sites from fee-based internet subscription services.
Use advanced features of internet search engines and fee-based internet subscription services.
Evaluate web sites for reliability and relevancy.
Choose the most effective resource and format for the specific information needed.
Understand the legal and ethical issues regarding plagiarism and copyright.
Compose a works cited list using MLA or APA format.
Navigate services available through homepages of a public library and an academic library.

Corequisites: CS 100 or DPR 100.

3 Credits3 Weekly Lecture Hours

CS 117  Fundamentals of Game Design Theory and Practice  

(formerly DPR 117) This course introduces students to the theory and practical aspects of the computer game development process. Students brainstorm a game idea, establish focus, determine the storytelling mode, and document the design.

Upon successful completion of this course, students should be able to:
Demonstrate an understanding of the vocabulary of game design theory and practice.
Identify the techniques of top game designers.
Analyze and identify the elements that make successful games.
Apply the computer game development process to create a design document.

Prerequisites: REA 050 or ENG 099 or REA 075. Appropriate placement test scores may be accepted.

3 Credits3 Weekly Lecture Hours

CS 118  Game Creation Development  

(formerly DPR 118) This course focuses on designing, developing and testing computer games using game creation development tools. Students use an icon-based system of events and actions to program computer games. Principles of successful game design and techniques of top game designers are also explored.

Upon successful completion of this course, students should be able to:
List requirements for a game development studio.
Describe the basic elements of an image and how to manipulate it.
Identify and describe game genres.
Identify the elements of good game design.
Utilize the computer game development process to create games using a game engine and design tool.
Demonstrate the ability to use game creation development tools to develop games for inclusion in a portfolio.

Prerequisites: DPR 100 and (DPR 117 or CS 117 or DPR 238).

3 Credits3 Weekly Lecture Hours

CS 119  Introduction to Computer Game Programming  

(formerly DPR 119) This course introduces students to the concepts of programming using an object-orient programming language and game development tools. Students will create 2D and 3D games using game development tools as well as program a full-featured role-playing game (RPG) using an object-oriented programming language.

Upon successful completion of this course, students should be able to:
Describe the elements of game programming.
Create a 2D game using game development tools.
Create a 3D game using game development tools.
Use the basic programming constructs of an object-oriented programming language.
Create animations for a game.
Add sounds to a game.
Create a game using a HTML5 game-based creation engine.
Create an RPG using an object-oriented programming language

Prerequisites: DPR 101.

Corequisites: DPR 117 or CS 117 or DPR 238 or DPR 118 or CS 118 or DPR 232.

3 Credits3 Weekly Lecture Hours

CS 121  Game Art and Animation  

(formerly DPR 121) The focus of this course is to create 2D artwork, arrange U-V's, generate textures, and create a 3D model. Students create 3D models and animations using industry standard computer graphics software.

Upon successful completion of this course, students should be able to:
Identify the requirements of 2D artwork.
Demonstrate the ability to design and develop 2D artwork.
Identify the requirements of a 3D model.
Use a 3D modeling software product to create models and animations.

Prerequisites: ((ENG 050 and REA 050) or ENG 099 or REA 075) and (MAT 050 or MAT 060). Appropriate placement test scores may be accepted.

3 Credits3 Weekly Lecture Hours

CS 127   Introduction to PC Support  

(formerly DPR 227) This is the first part of the hands-on hardware preparation for students whose goal is to develop an understanding of operating systems to maintain and manage a personal computer. The course prepares students to understand the terminology and technically support ports, motherboards, microprocessors, memory, interrupt requests, basic power needs, chips, cables, troubleshooting and Internet resource discovery both to find information and help in troubleshooting devices.

Upon successful completion of this course, students should be able to:
Identify the components of a typical microcomputer system.
Demonstrate a knowledge of components such as ports, motherboards, microprocessors, memory, interrupt requests, basic power needs, chips, and cables.
Troubleshoot the above devices using various techniques including Internet resources.
Discuss error messages and their meanings.
Install and support operating systems.
Analyze conflicts and problems in both the hardware and software environment.

Prerequisites: (REA 050 or ENG 099 or REA 075) and (MAT 050 or MAT 060). Appropriate placement test scores may be accepted.

3 Credits3 Weekly Lecture Hours

CS 128  PC Repair and Maintenance  

(formerly DPR 228) This course is a continuation of the hands-on course for students whose goal is to work with personal computer operating systems. The course prepares students to technically support personal computer repair and maintenance.

Upon successful completion of this course, students should be able to:
Apply knowledge of SCSI, IDE, and similar hard drive configurations.
Utilize knowledge of partitioning, formatting, fragmentation and defragmentation, disk caching, and troubleshooting of hard drives.
Apply knowledge of FDISK, SCANDISK, CHKDSK and other similar disk drive utilities.
Construct configuration files for optimal computer performance.
Utilize CD-ROM drives, video cards, sound cards as well as audio CD use.
Apply knowledge of Caching, Serial and Parallel devices, Mice, and keyboards.
Apply knowledge of monitors, screen savers, video adapters, and video memory.
Troubleshoot FireWire, serial and parallel ports and various bus configurations.
Utilize knowledge of printers including types and troubleshooting techniques.
Apply knowledge of various configurations and troubleshooting methods including DOS, Windows 3 1/95/98/NT/2000.
Use various boot processes and methods as well as optimization techniques.
Discuss compression, encryption, and dial-up networking techniques as well as network security topics.

Prerequisites: (REA 050 or ENG 099 or REA 075) and (MAT 050 or MAT 060). Appropriate placement test scores may be accepted.

3 Credits3 Weekly Lecture Hours

CS 130  Introduction to Unity 3D  

This course introduces students to the world’s most popular game engine, Unity 3D. Students will learn how to create interactive content for gaming, simulations and visualization.

Upon successful completion of this course, students should be able to:
Demonstrate proficiency using the basics of the software.
Import, create and manage 2D, 3D and audio assets.
Apply materials and textures.
Animate objects and parameters.
Create interactive user interfaces and navigation.
Design, develop and export content for testing, debugging and presentation.
Research and explore careers and education in interactive design and development.

Prerequisites: DPR 100 and (ENG 050 or ENG 099 or REA 075). Appropriate placement test scores may be accepted.

3 Credits3 Weekly Lecture Hours

CS 131  Virtual Asset Production  

This course introduces students to the fundamentals of creating 2D and 3D assets for use in real-time, virtual environments and games using industry-standard software and hardware.

Upon successful completion of this course, students should be able to:
Identify the requirements of 2D asset development.
Design and develop 2D assets.
Identify the requirements of 3D asset development.
Create and animate 3D assets.
Import and manage assets in Unity 3D game engine.
Apply the production pipeline to deploy assets for previsualization and presentation.

Prerequisites: CS 130.

3 Credits3 Weekly Lecture Hours

CS 132  C# Programing for Interactivity  

This course introduces students to the concepts of programming using the C# programming language. Students will learn how to write C# code for interactivity using Microsoft Visual Studio and Unity 3D.

Upon successful completion of this course, students should be able to:
Write clean and reusable C# code for scripting interactivity.
Identify similarities and differences between relating coding languages.
Create interactive HUD (Heads-Up Displays).
Create interactive 3D experiences.
Design, develop, and deploy content on XR devices for testing, debugging, and presentation.

Prerequisites: (DPR 101 or CS 101) and CS 130.

3 Credits3 Weekly Lecture Hours

CS 133  Augmented, Mixed and Virtual Reality: XR Fundamentals  

This course introduces students to augmented, mixed and virtual reality technologies. Using the Unity 3D game engine, students will learn how to create interactive and immersive experiences using industry-standard XR hardware.

Upon successful completion of this course, students should be able to:
Understand the production pipeline for successful XR output and delivery.
Create AR experiences for mobile devices.
Create MR experiences.
Create VR experiences.
Determine the appropriate hardware, software, and network environment that support XR design and development.
Research and explore innovative, emerging media technologies, skills, and careers as it pertains to the field of interactive computing.
Understand how to deploy XR content for testing, debugging, and distribution.

Prerequisites: (DPR 101 or CS 101) and CS 130.

3 Credits3 Weekly Lecture Hours

CS 141  UNIX Operating Systems  

(formerly DPR 141) This hands-on course aims to familiarize students with the UNIX operating system. The course covers the installation, use, management and customization of UNIX in a PC environment. Topics in the course include notable and commonly used UNIX commands; the UNIX shell as both user interface and programming environment; the UNIX file system; the UNIX networking subsystem; and bandwidth management under UNIX.

Upon successful completion of this course, students should be able to:
Discuss the features and benefits of the UNIX operating system.
Log onto and out of a UNIX system.
Discuss the UNIX file naming convention.
Construct both simple and enhanced UNIX command lines.
Describe and distinguish between the concepts of kernel, shell and file system.
Discuss the file hierarchical structure.
Employ both user- and administrator-oriented UNIX commands in an effective manner.
Identify the most significant characteristics of the UNIX networking subsystem and UNIX bandwidth management.
Recognize and describe widely-used UNIX applications such as Apache.

3 Credits3 Weekly Lecture Hours

CS 142  Introduction to Cloud Computing Concepts and Administration using Microsoft Azure  

This course will introduce the fundamentals and purposes of cloud computing. Students will learn the administration and maintenance of online resources and services via the Microsoft Azure cloud platform including virtual machines, application services, storage, networking, and databases. The content of this course is explicitly aligned with learning objectives for the Azure Fundamentals and Azure Administrator certification exams.

Upon successful completion of this course, students should be able to:
Describe the benefits, types, and categories of Azure cloud services.
Describe the core Azure cloud resources, services and architectural components.
Describe core cloud solutions and management tools in Azure.
Describe and implement identity, governance, privacy, and compliance features on Azure.
Describe cost management and service level agreements, and perform cost management activities.
Describe, implement and manage storage services.
Deploy and manage compute resources and application services.
Deploy, manage, load-balance, and integrate virtual networking.
Implement reliability and business continuity processes through monitoring and backups.

Prerequisites: CS 100 or DPR 100 or CS 101 or DPR 101 or NET 110.

3 Credits3 Weekly Lecture Hours

CS 143  Introduction to Cloud Computing Concepts and Administration using Amazon Web Services  

This course will introduce the fundamentals and purposes of cloud computing on Amazon Web Services (AWS). Students will learn to provision and manage cloud resources and services on AWS such as virtual machines, web application services, storage, networking, and databases. The content of this course is aligned with learning objectives for the AWS Technical Essentials training, AWS Cloud Practitioner and the SysOps Administrator certification exams.

Upon successful completion of this course, students should be able to:
Define AWS Cloud advantages, design principles and economics.
Identify AWS Cloud security and compliance concepts, capabilities and models.
Define key cloud service technologies, geographical infrastructure, deployment methods, and support resources.
Compare and contrast billing and pricing models for various account structures and resources.
Implement and manage logging monitoring and remediation.
Implement and manage data protection, security and compliance policies.
Implement cost and performance optimization.
Implement networking features and connectivity.
Deploy, configure and provision cloud resources through administrative and automated toolsets.

Prerequisites: CS 100 or CS 101 or NET 110.

3 Credits3 Weekly Lecture Hours

CS 190  Computer Programming Internship (1 credit)  

(formerly DPR 190) College-Sponsored Experiential Learning (CSEL) is designed to integrate on-the-job learning experiences with classroom studies. These experiences are structured either to explore career options or to prepare for a specific occupation. Students participating in the Cooperative Education and Internship Program gain college credit and are graded for their learning/work experience by the appropriate faculty. Students participating in this 60 hour internship will earn 1 college credit for this experience. Upon successful completion of this hands-on work experience, the student should be able to satisfy instructionally selected competencies from those below according to the number of credits to be awarded. NOTE To be eligible for an internship, students must: Have completed a minimum of 18 or more credits within the last 5 years. Have begun course work in their major (at least 9 credits). Have an overall grade point average (GPA) of 2.5. Obtain a written recommendation by a DCCC faculty within the discipline of the internship. Submit a current resume to the Office of Student Employment Services.

Upon successful completion of this course, students should be able to:
Explain three program-related concepts that have been applied during the work experience.
Describe the ways that technology is utilized in the work experience.
Analyze the culture of the host organization.
Analyze an operational process within the work experience.
Demonstrate how assigned tasks depend on successful communication.
Describe how time and activity are managed to meet work-imposed deadlines.
Describe an instance where problem-solving skills were needed to analyze a situation in the work experience.
Demonstrate specifically how job-related competence has improved.
Formulate a self-assessment for career growth and personal satisfaction.
Satisfy the competencies of the chosen CSEL placement (to be developed in consultation with the CSEL instructor).
Work closely with a faculty mentor in the student's program/major to complete a project which articulates how the experience helps the student achieve program outcomes.

1 Credit

CS 194  Computer Programming Internship (2 credit)  

(formerly DPR 194) College-Sponsored Experiential Learning (CSEL) is designed to integrate on-the-job learning experiences with classroom studies. These experiences are structured either to explore career options or to prepare for a specific occupation. Students participating in the Cooperative Education and Internship Program gain college credit and are graded for their learning/work experience by the appropriate faculty. Students participating in this 120 hour internship will earn 2 college credit for this experience. Upon successful completion of this hands-on work experience, the student should be able to satisfy instructionally selected competencies from those below according to the number of credits to be awarded. NOTE To be eligible for an internship, students must: Have completed a minimum of 18 or more credits within the last 5 years. Have begun course work in their major (at least 9 credits). Have an overall grade point average (GPA) of 2.5. Obtain a written recommendation by a DCCC faculty within the discipline of the internship. Submit a current resume to the Office of Student Employment Services.

Upon successful completion of this course, students should be able to:
Explain three program-related concepts that have been applied during the work experience.
Describe the ways that technology is utilized in the work experience.
Analyze the culture of the host organization.
Analyze an operational process within the work experience.
Demonstrate how assigned tasks depend on successful communication.
Describe how time and activity are managed to meet work-imposed deadlines.
Describe an instance where problem-solving skills were needed to analyze a situation in the work experience.
Demonstrate specifically how job-related competence has improved.
Formulate a self-assessment for career growth and personal satisfaction.
Satisfy the competencies of the chosen CSEL placement (to be developed in consultation with the CSEL instructor).
Work closely with a faculty mentor in the student's program/major to complete a project which articulates how the experience helps the student achieve program outcomes.

2 Credits

CS 199  Computer Programming Internship (3 credit)  

(formerly DPR 199) College-Sponsored Experiential Learning (CSEL) is designed to integrate on-the-job learning experiences with classroom studies. These experiences are structured either to explore career options or to prepare for a specific occupation. Students participating in the Cooperative Education and Internship Program gain college credit and are graded for their learning/work experience by the appropriate faculty. Students participating in this 180 hour internship will earn 3 college credits for this experience. Upon successful completion of this hands-on work experience, the student should be able to satisfy instructionally selected competencies from those below according to the number of credits to be awarded. NOTE To be eligible for an internship, students must: Have completed a minimum of 18 or more credits within the last 5 years. Have begun course work in their major (at least 9 credits). Have an overall grade point average (GPA) of 2.5. Obtain a written recommendation by a DCCC faculty within the discipline of the internship. Submit a current resume to the Office of Student Employment Services.

Upon successful completion of this course, students should be able to:
Explain three program-related concepts that have been applied during the work experience.
Describe the ways that technology is utilized in the work experience.
Analyze the culture of the host organization.
Analyze an operational process within the work experience.
Demonstrate how assigned tasks depend on successful communication.
Describe how time and activity are managed to meet work-imposed deadlines.
Describe an instance where problem-solving skills were needed to analyze a situation in the work experience.
Demonstrate specifically how job-related competence has improved.
Formulate a self-assessment for career growth and personal satisfaction.
Satisfy the competencies of the chosen CSEL placement (to be developed in consultation with the CSEL instructor).
Work closely with a faculty mentor in the student's program/major to complete a project which articulates how the experience helps the student achieve program outcomes.

3 Credits3 Weekly Lecture Hours

CS 200  UX Design  

User experience (UX) design is a discipline concerned with all the elements that together make up the user interface, including layout, visual design, text, brand, sound and interaction. (Source: User Experience Professionals Association). This course introduces multi-device design strategies for navigation, screen layout, and interactive content. Learn how to apply interaction design principles to your apps and web sites to create experiences that are engaging, accessible and usable. Follow a user-centered design process for analyzing, planning, and designing user experiences. Map user needs to your proposed UX design solution with scenarios, storyboards and prototypes. Gain insight on how to incorporate accessibility into your design process to increase accessibility to all people, including those with disabilities.

Upon successful completion of this course, students should be able to:
Identify and apply an interactive design process model.
Design applications employing user-centered design techniques.
Analyze techniques for assuring compliance with accessibility guidelines.
Use rapid-prototyping tools to develop user interfaces that utilize interface design standards.
Apply visual principles such as layout, color, iconography, imagery and typography to maximize the UX experience.
Identify career paths, academic programs and training opportunities in the field of User Experience Design.

Prerequisites: IMM 110 and IMM 120.

3 Credits3 Weekly Lecture Hours

CS 202   Intermediate Python  

This course teaches students the fundamentals of Object Oriented Programming (OOP) by designing, coding and testing simple applications using Python. The course is designed for students who have an understanding of programming design and logic but who need to understand object-oriented programming methods and techniques. NOTE: Prerequisite requires a grade of 'C' or higher.

Upon successful completion of this course, students should be able to:
Use a Python IDE.
Use Python classes.
Create and use functions in a Python program.
Create and initialize classes.
Explain and use inheritance.
Use function overloading in a Python object-oriented program.
Use Object –Oriented programming techniques.

Prerequisites: CS 102.

3 Credits3 Weekly Lecture Hours

CS 204  Intermediate Java Programming  

(formerly DPR 204) This course teaches students how to create single-user applications using the Java programming language. Students learn the fundamentals of object-oriented programming (OOP) by designing, coding and testing simple applications. The course is designed for students who have an understanding of programming methods and techniques using the Java programming language. It incorporates the design, coding and use of programmer developed classes and objects. Simple container classes are used to build collections of newly defined objects.

Upon successful completion of this course, students should be able to:
Define object-oriented programming terms.
Explain the fundamentals of object-oriented structures and principle of programming.
Design, implement and document Java classes to be used in a computer program.
Demonstrate use of Java class libraries.
Demonstrate use of methods and method overloading.
Explain inheritance and polymorphism and use them for derived classes.
Explain and use derived and abstract classes.
Demonstrate use of objected-oriented programming techniques to solve problems.
Build and use container classes such as vector and list.
Apply analytical skills to produce sample test cases, pseudocode or an incremental coding plan for a given problem specification.
Write, test and debug a Java program to implement a working solution to a given problem specification.

Prerequisites: CS 104 or DPR 104.

3 Credits3 Weekly Lecture Hours

CS 206  PHP/MySQL  

(formerly DPR 206) Students learn to develop fully functional dynamic websites using PHP and a MySQL database. Topics include: setting up a development environment, using PHP to validate and process form data, sending email, creating regular expressions, implementing user authentication and security. Students will apply these concepts in the design of a My SQL relational database system and use PHP to create, read, update, search and delete records.

Upon successful completion of this course, students should be able to:
Identify the differences between static and dynamic Web design.
Write scripts to validate and process form submission data.
Build a relational MySQL database and write SQL queries to create, read, update, delete and search records.
Identify security issues and implement best practices and solutions.
Upload files to a web server and update and maintain web sites.
Identify career paths, academic programs and training opportunities in the field of Web Design and Development

Prerequisites: (DPR 101 or DPR 108) and DPR 207 and IMM 120.

3 Credits3 Weekly Lecture Hours

CS 207  Intro to Oracle: SQL  

(formerly DPR 207) This course introduces students to Oracle as a data base management system. Emphasis is on using SQL to query and update data in a database, create reports, and to embed SQL commands in a programming language.

Upon successful completion of this course, students should be able to:
Discuss the conceptual and physical aspects of relational database architecture.
Write and execute SQL statements.
Use the SQL editor.
Use single row and group functions.
Create tables and views.
Produce output using SQL *Plus.
Control user access.
Write small PL/SQL programs.

Prerequisites: ((ENG 050 and REA 075) or ENG 099 or REA 050) and (MAT 040 or MAT 050). Appropriate placement test scores may be accepted.

4 Credits4 Weekly Lecture Hours

CS 210  Object Oriented C++  

(formerly DPR 210) This course teaches students how to create single-user applications using the C++ programming language. Students learn the fundamentals of object-oriented programming (OOP) by designing, coding, and testing simple applications. The course is designed for students who have an understanding of programming using the C++ language. The student must be able to design and code functions and use logic structures to accomplish specific tasks. Using the aforementioned functions and structures, the student is guided to employ object-oriented programming methods and techniques in the development of a modern OOP application. This course does NOT cover graphical designs or graphic user interfaces (GUI)

Upon successful completion of this course, students should be able to:
Define object-oriented programming terms.
Explain the fundamentals of object-oriented structures and principles of programming.
Use a C++ compiler and Integrated Development Environment (IDE) to create, document and debug multi-file projects.
Design, code and implement C++ classes.
Design and use class methods.
Instantiate and use class objects.
Explain inheritance and polymorphism and use them for derived classes.
Generate and handle exception objects to support error processing.
Build and use function and class templates to provide generic processes for OOP applications.
Declare and use pointer variables to generate dynamic data structures.
Design, write, test and debug C++ program to implement a working solution to a given problem specification.

Prerequisites: CS 110 or DPR 110.

3 Credits3 Weekly Lecture Hours

CS 212  Data Structures and Algorithms  

(formerly DPR 212) This course focuses on problem analysis, algorithm design and refinement, and computer programming. Complex data structures such as stacks, heaps, and trees as well as sorting and searching techniques are examined. Software engineering methods and structured style as well as object-oriented programming are emphasized.

Upon successful completion of this course, students should be able to:
Develop programs using good programming style and object-oriented programming techniques to implement algorithms and data structures.
Use simple and advanced data types including linked lists, stacks, queues, trees, heaps and sets.
Analyze the efficiency of various algorithms for looping, recursion, sorting, and searching.
Use abstract data types, containers and class templates, encapsulation, inheritance, and polymorphism.
Evaluate simple systems concepts such as input/output buffers, parameter passing mechanisms, and memory management.
Use documentation or a knowledge base to resolve technical issues.
Apply the software development process to design, write, test, and debug computer programs using an object-oriented language.

Prerequisites: (MAT 135 or MAT 152 or MAT 160* or MAT 161*) and (CS 204 or DPR 204 or CS 210 or DPR 210). Appropriate placement test scores may be accepted. *Courses marked with a star may be taken concurrently.

4 Credits3 Weekly Lecture Hours
 2 Weekly Lab Hours

CS 214  jQuery/JavaScript  

(formerly DPR 214) jQuery is a fast, small, and feature-rich JavaScript library. In this course students learn to use jQuery, JavaScript and Ajax to include dynamic content and create feature-rich web sites. Also covers jQuery Mobile to build cross-platform mobile web pages. NOTE: Pre-reqs with grade of 'C' or better.

Upon successful completion of this course, students should be able to:
Develop dynamic Web 2 applications with jQuery, HTML, CSS and Ajax.
Enhance HTML forms using jQuery validation and call web services.
Build cross-platform, cross-device mobile pages using jQuery Mobile.
Animate web pages using jQuery effects.
Convert serialized server data to HTML using JSON.
Design sophisticated user interfaces with jQuery UI.
Use objects, methods, and properties to manage and manipulate the elements of a web page using the Document Object Model.

Prerequisites: (CS 101 or DPR 101) and IMM 120.

3 Credits3 Weekly Lecture Hours

CS 222  Visual Basic Programming  

(formerly DPR 222) This course familiarizes students with ways to create single-use applications using Microsoft's Visual Basic (VB.NET) programming language. Students learn the fundamentals of Object Oriented Programming (OOPS) by designing, coding and testing simple Windows-based applications. The course is designed for students with an understanding of programming design and logic but who need to understand event-driven programming methods and techniques.

Upon successful completion of this course, students should be able to:
Describe the differences between event-driven programs and procedure-driven programs.
Define objects, properties, methods, and events.
Create applications that correctly declare and use variables, accept user input, use subs and functions, and use code loops and control structures.
Locate and correct coding problems using de-bugging tools.

Prerequisites: CS 101 or DPR 101.

4 Credits3 Weekly Lecture Hours
 2 Weekly Lab Hours

CS 240  Responsive Web Design   

(formerly DPR 241, CS 241) Students learn to use the responsive design web development approach and follow a mobile-first strategy. Design and create responsive user interfaces and navigation systems using current HTML, CSS, and JavaScript standards. Also, learn how to publish, promote, and optimize websites for search engine optimization. Additional topics include meeting accessibility standards and using command-line interfaces. NOTE: IMM 120 “C” or better and (CS 101 or CS 102 or DPR 101, “C” or better)

Upon successful completion of this course, students should be able to:
Create mobile-friendly websites and navigation systems.
Explain the principles of responsive design.
Describe and implement mobile-first strategies.
Optimize a website for search engine optimization (SEO).
Use a CSS framework to create responsive webpages.
Use a command-line interface to navigate and manage files and folders.
Apply the W3C Web Accessibility Initiative guidelines to meet Section 508 of the Rehabilitation Act.

Prerequisites: IMM 120 and (CS 101 or DPR 101).

3 Credits3 Weekly Lecture Hours

CS 242  Azure Cloud Architect Technologies  

Microsoft Azure Architect Technologies course prepares students for a career as a certified Azure Cloud Architect. Students will deepen knowledge of managing Azure resources, and integrating virtual services using Azure Portal and Command Line Interface to solve business solutions. This course is explicitly aligned with the Azure Solutions Architect certification exam.

Upon successful completion of this course, students should be able to:
Implement, manage, and monitor cloud resources and infrastructure.
Implement storage accounts.
Configure and deploy virtual machines for Windows and Linux.
Automate deployment and configuration of resources.
Configure and deploy virtual networks.
Implement Azure Active Directory and hybrid identities.
Manage workloads and network security for applications.
Implement and manage Azure governance solutions.
Implement solutions for applications.
Implement and manage data platforms.

Prerequisites: CS 142.

3 Credits3 Weekly Lecture Hours

CS 243  Amazon AWS Cloud Solutions Architecture  

AWS Solutions Architecture will provide students with the tools to design, plan, and implement resilient, high-performing, secure, and cost-optimized architectures using AWS best practices for integrating the more than 70 available AWS cloud services into well-orchestrated solutions. This course is explicitly aligned with the latest AWS Solutions Architect certification exam and is part of the Cloud Computing degree and certificate programs.

Upon successful completion of this course, students should be able to:
Design resilient, fault-tolerant architectures for applications and storage using techniques such as decoupling and multi-tiering.
Design and manage high-performing architecture for compute, storage, networking, and database solutions.
Design decoupling mechanisms using AWS services such as serverless technologies and microservices.
Apply application rules for access to AWS resources at the user, group, role levels using AWS policies and mechanisms for determining the net effect and traceability of resource access.
Design cost-optimized storage, compute, database, and networking architectures.
Design secure applications and architectures with appropriate access controls, traffic controls, network segmentation, and data security.
Implement, configure, manage, and monitor cloud resources and infrastructure.

Prerequisites: CS 143.

3 Credits3 Weekly Lecture Hours

CS 250  Digital Portfolio Development  

(formerly DPR 250) The focus of the Digital Portfolio Development course is to design a portfolio that makes evident a student's knowledge and skills of their field of study. The portfolio is a collection of material that can be used as an interactive resume, an archive of work over time or a demonstration of proficiency. The contents of a student's portfolio can include work samples, letters of recommendation, references, transcripts, GPA, accomplishments/awards, competency lists, certifications, curricular standards, instructor assessments/evaluation, reflections, and work experiences/employer evaluations. Thus, a student's portfolio provides the ability to show work on demand and evidence of their preparation for a career or further education in their field of study. The objective of this course is for students to demonstrate the theoretical as well as the technical skills they have acquired throughout their program. Students will assess personal strengths to establish a career goal and decide how to organize their design and production work in a graduation portfolio. NOTE: Prerequisites: Depending on CS specialization, all required program courses.

Upon successful completion of this course, students should be able to:
Identify the need for a digital portfolio.
Identify the target audience of a digital portfolio.
Demonstrate the ability to organize, collect and prepare material for a digital portfolio.
Explain copyright laws as it applies to acquiring and protecting intellectual property.
Demonstrate the ability to design and develop work samples using industry standard tools and/or programming languages.
Demonstrate the use of design and development tools to develop a digital portfolio.

3 Credits3 Weekly Lecture Hours