SDC- Software Development and Coding

SDC100 Introduction to Programming

This course will provide students with an introduction to structured concepts of a high-level programming language. Students will learn the basic syntax of a programming language. Students will learn about primitive data types, declarations, constants, variables, assignment operations, expression evaluation, and basic console I/O. Upon successful course completion, students will be able to write console programs using the C language.

3

Prerequisites

None

Cross Listed Courses

Formerly CIS126

SDC100L Introduction to Programming Lab

This course will provide students with an introduction to structured concepts of a high-level programming language. Students will learn the basic syntax of a programming language. Students will learn about primitive data types, declarations, constants, variables, assignment operations, expression evaluation, and basic console I/O. Upon successful course completion, students will be able to write console programs using the C language.
1

Prerequisites

None

Corequisites

SDC100

Cross Listed Courses

Formerly CIS126L

SDC200 Introduction to Databases

This course will provide students with a fundamental overview of relational databases. Students will learn the values, concepts, principles, skills and techniques of modern database management systems. Upon successful completion, students will be able to identify, research, evaluate and resolve common database (data-driven) business application systems development.

3

Prerequisites

SDC100

Cross Listed Courses

Formerly CIS223

SDC205 Python for Data Analytics

This course will provide students with the knowledge and skills needed to use Python scripting for creating scripts and programs necessary for automating operating and network system commands to efficiently perform common configuration tasks. Students will be aware of and able to use Python libraries that allow access to data for useful analysis. Upon successful course completion, students will be able to create Python scripts to automate the collection of data.

3

Prerequisites

SDC100

Corequisites

SDC205L

SDC205L Python for Data Analytics Lab

This course will provide students with the knowledge and skills needed to use Python scripting for creating scripts and programs necessary for automating operating and network system commands to efficiently perform common configuration and security tasks. Students will be aware of and able to use Python libraries that allow access to data for useful analysis. Upon successful course completion, students will be able to create Python scripts to automate the collection of data. 

1

Prerequisites

SDC100

Corequisites

SDC205

SDC220 Object-Oriented Programming Using C#

This course will provide students with an introduction to C# programming and object-oriented programming paradigms and application development. Students will learn fundamental programming concepts including classes and objects, control structures, loops, and arrays. Advanced topics include exception handling. Lab exercises range from the creation and use of C# classes to writing completely independent programs. Upon successful course completion, students will be able to write basic console C# applications.

3

Prerequisites

SDC255 or CIS226

Cross Listed Courses

Formerly CIS214

SDC220L Object-Oriented Programming Using C# Lab

This course provides students with practice and skill-building exercises in C# programming to reinforce the use of the object-oriented programming paradigm in application development. Students will practice fundamental programming concepts including classes and objects, control structures, arrays, exception handling, and data connectivity by producing working application components that will be used as part of a larger application. Upon successful completion of the course, students will be able to produce a single working application that uses the components created each week to provide the required functionality. 

1

Prerequisites

SDC255 or CIS226

Corequisites

SDC220

SDC230 Object-Oriented Programming Using Java

This course will provide students with an introduction to Java programming and object-oriented programming paradigms and application development. Students will learn fundamental programming concepts including classes and objects, control structures, loops, and arrays. Advanced topics include exception handling. Lab exercises range from the creation and use of java classes to writing completely independent programs. Upon successful course completion, students will be able to write basic console Java applications.

3

Prerequisites

SDC255 or CIS226

Cross Listed Courses

Formerly CIS218

SDC230L Object-Oriented Programming Using Java Lab

This course will provide students with practice and skill-building exercises in Java programming to reinforce the use of the object-oriented programming paradigm in application development. Students will practice fundamental programming concepts including classes and objects, control structures, arrays, exception handling, and data connectivity by producing working application components that will be used as part of a larger application. Upon successful completion of the course, students will be able to produce a single working application that uses the components created each week to provide the required functionality. 

1

Prerequisites

SDC255 or CIS226

Corequisites

SDC230

SDC250 Structured Query Language

This course introduces the SQL language and solidifies data retrieval processes that can be used for decision-making purposes. Students will learn about selects, grouping data, summarizing data, use of functions, subqueries, and joins. Upon successful course completion, students will be able to retrieve, compute, and manipulate data from database tables using SQL syntax.

3

Prerequisites

SDC200

Cross Listed Courses

Formerly CIS250

SDC250L Structured Query Language Lab

This course introduces the SQL language and solidifies data retrieval processes that can be used for decision making purposes. Students will learn about selects, grouping data, summarizing data, use of functions, subqueries, and joins. Upon successful course completion, students will be able to retrieve, compute, and manipulate data from database tables using SQL syntax.

1

Prerequisites

SDC200

Corequisites

SDC250

SDC255 Introduction to Agile and Scrum Methodologies

This course will provide students with the knowledge and skills needed to build software using the Scrum methodology. Students will learn to work through projects delivering viable software products incrementally. Upon successful course completion, students will be able to actively participate in Scrum projects. 

3

Prerequisites

SDC200

SDC260 Web Interface Design

This course will provide students with the knowledge of responsive web page creation using Hypertext Markup Language (HTML) and Cascading Style Sheets (CSS). Students will learn how to create hyperlinks, headings, lists, tables, formatting, and images. Upon successful course completion, students will be able to create a basic responsive website.

3

Prerequisites

SDC100

Cross Listed Courses

Formerly CIS282

SDC310 Server-Side Scripting with PHP

This course will introduce students to hypertext preprocessor (PHP) which is used to develop web applications residing on a MySQL database backend. Students will explore a popular server-side language to process data using customer forms, data files and relational databases. Data validation and state management are taught. Upon completion of this course, students will be able to create a PHP application that accesses a database.

3

Prerequisites

SDC100, SDC250, and SDC260

Cross Listed Courses

Formerly CIS224

SDC310L Server-Side Scripting with PHP Lab

This course introduces students to hypertext preprocessor (PHP) used to develop web applications residing on a MySQL database backend. Students will explore a popular server-side language to process data using customer forms, data files and relational databases. Data validation and state management are taught. Upon successful completion of this course, students will be able to create a PHP application that accesses a database. 

1

Prerequisites

SDC100, SDC250, and SDC260

Corequisites

SDC310

SDC320 Advanced Object-Oriented Programming Using C#

This course will provide students with the knowledge and skills required to use advanced object-oriented programming concepts using the C# platform. Students will learn exception handling, inheritance, polymorphism, file access, and database connectivity. GUIs and event-driven programming are emphasized. Upon successful course completion, students will be able to construct a C# program that solves a real-world business problem.

3

Prerequisites

SDC220

Cross Listed Courses

Formerly CIS317

SDC320L Advanced Object-Oriented Programming Using C# Lab

This course will provide students with practice in using advanced object-oriented programming concepts using the C# programming language. Students will use advanced object-oriented programming concepts such as inheritance, polymorphism, the use of interfaces, abstraction, file access, and database connectivity to produce working application components that will be used as part of a larger application. Upon successful course completion, students will produce a fully working application incorporating those components to provide required functionality. 

1

Prerequisites

SDC220

Corequisites

SDC320

SDC330 Advanced Object-Oriented Programming Using Java

This course will provide students with the knowledge and skills required to use advanced Java features with an emphasis on the object-oriented paradigm and application development. Students will learn how to choose between inheritance and composition, how to use polymorphism, how to interface with a sequential file and a database, and the basics of recursion and concurrency. Upon successful course completion, students will be able to create a Java project that incorporates GUI, Model-View-Controller (MVC) design pattern, and data access.

3

Prerequisites

SDC230

Cross Listed Courses

Formerly CIS319

SDC330L Advanced Object-Oriented Programming Using Java Lab

This course will provide students with practice in using advanced object-oriented programming concepts using the Java programming language. Students use advanced object-oriented programming concepts such as inheritance, polymorphism, the use of interfaces, abstraction, file access, and database connectivity to produce working application components that will be used as part of a larger application. Upon successful course completion, students will produce a fully working application incorporating those components to provide required functionality. 

1

Prerequisites

SDC230

Corequisites

SDC330

SDC340 Mobile App Development

This course covers the design and development of mobile applications. Students will learn about contemporary mobile platforms, design patterns for mobile applications, programming environments and frameworks, and user interface design and implementation. Upon successful completion, students will be able to develop basic mobile applications for contemporary mobile devices.
3

Prerequisites

SDC220 or SDC230 or SDC310

Cross Listed Courses

Formerly CIS332

SDC342 Advanced Server-Side Scripting with PHP II

This course reinforces the hypertext preprocessor (PHP) tools to develop complex web applications residing on a MySQL database back end. Student will view in depth a popular server-side language to process data. Data security is taught. Upon completion of this course, students will be able to create a complex PHP application that access a database.

3

Prerequisites

SDC310

Cross Listed Courses

Formerly CIS367

SDC342L Advanced Server-Side Scripting w/ PHP II Lab

This course reinforces the hypertext preprocessor (PHP) tools to develop complex web applications residing on a MySQL database back end. Student will view in depth a popular server-side language to process data. Data security is taught. Upon completion of this course, students will be able to create a complex PHP application that access a database.

1

Prerequisites

SDC310

Corequisites

SDC342

Cross Listed Courses

Formerly CIS367L

SDC345 Interface Design I

This course is designed to provide students with an introduction to User Experience (UX) and User Experience Design (UXD). Students will learn to incorporate business strategy, value proposition, user research and user experience design. Additionally, they will use UXD to enhance a user's satisfaction by improving a product's usability, accessibility and experience. Upon successful course completion, students will be able to tackle new application design projects using learned methodologies and tool sets. Through this course and the associated lab, students will also have new visuals/documents to include in their design portfolio.

3

Prerequisites

SDC260

Corequisites

SDC345L

Cross Listed Courses

Formerly CIS334

SDC345L Interface Design I Lab

This course is designed to provide students with an introduction to User Experience (UX) and User Experience Design (UXD). Students will learn to incorporate business strategy, value proposition, user research and user experience design. Additionally, they will use UXD to enhance a user’s satisfaction by improving a product’s usability, accessibility and experience. Upon successful course completion, students will be able to tackle new application design projects using learned methodologies and toolsets. Through this course and the associated lab, students will also have new visuals/documents to include in their design portfolio.

1

Prerequisites

SDC260

Corequisites

SDC345

Cross Listed Courses

Formerly CIS334L

SDC355 Javascript

This course provides the student with the knowledge and skills for web client scripting technology using JavaScript and Ajax. Students will learn how to create form validations, cookies, special effects, and do Ajax form implementation. Node.js is introduced. Upon successful course completion, students will be able to write basic Javascript scripts in an HTML page.

3

Prerequisites

SDC100 and SDC260

Cross Listed Courses

Formerly CIS213

SDC360 Web Application Development

This course will provide students with the knowledge and skills required to use technologies for developing rich applications delivered via a web browser. Students will learn how to build responsive client-side interfaces and how to consume data from web services. Upon successful completion, students will be able to create web-based applications using contemporary asynchronous technologies.
3

Prerequisites

SDC355

Cross Listed Courses

Formerly CIS360

SDC380 Introduction to Data Analytics

This course will provide students with an introduction to the concepts and tools used in data analytics. Students will learn the basic practices of data analytics professionals and about problem framing, data collection, and data models and data visualization. Upon successful course completion, students will be able to solve basic data analytics problems.
3

Prerequisites

(CYB120 or SDC205) and MTH140

Cross Listed Courses

Formerly CIS326

SDC385 AI/ML and Data Analytics Tools

This course will provide students with advanced concepts and tools used in data analytics. Using a project-based approach, students will learn how to leverage Python and its analytics tools to implement the entire analytics process of data collection, cleaning, presentation, and automation.
3

Prerequisites

SDC380

Cross Listed Courses

Formerly CIS376

SDC420 Systems Analysis and Design

This course provides advanced coverage of modern strategies and techniques of systems development. The course will cover the concepts, skills, methodologies, techniques, tools and perspectives essential for the systems analysts to successfully analyze, design and develop information systems.

3

Prerequisites

SDC200 and (SDC220 or SDC230)

Cross Listed Courses

Formerly CIS420

SDC435 Advanced Databases

This course will provide students with hands-on experience in both relational and non-relational databases. Students will learn to store, retrieve, manipulate, and secure data in both structured and non-structured environments. Upon successful course completion, students will be able to apply these skills to solve real-world problems. 

3

Prerequisites

CST200, SDC200, SDC205, and SDC250

Corequisites

SDC435L

SDC435L Advanced Databases Lab

This course will provide students with hands-on experience in both relational and non-relational databases.  Students will learn to store, retrieve, manipulate, and secure data in both structured and non-structured environments.  Upon successful course completion, students will be able to apply these skills to solve real world problems. 

1

Prerequisites

CST200, SDC200, SDC205, and SDC250

Corequisites

SDC435

SDC440 Mobile Development II

This course covers advanced topics used to design and implement mobile applications. Students will learn data storage, mobile web applications, how to consume web services, and advanced user interface design and implementation. Upon successful completion, students will be able to develop advanced mobile applications for contemporary mobile devices.
3

Prerequisites

SDC340

Cross Listed Courses

Formerly CIS432

SDC445 Interface Design II

This course is designed to provide students with a comprehensive understanding of developing modern web applications using React.js and deploying them to the web. Throughout the course, students will learn the fundamental concepts of React.js, including component-based architecture, state management, props, and JSX syntax. Students will learn best practices for organizing and structuring React applications to ensure maintainability, scalability, and code reusability. In the latter part of the course, students will delve into the process of deploying React applications to various hosting platforms, including cloud services like Vercel, Heroku, and Netlify.
3

Prerequisites

SDC345 and SDC345L

Corequisites

SDC445L

Cross Listed Courses

Formerly CIS453

SDC445L Interface Design II Lab

This course is designed to provide students with a comprehensive understanding of developing modern web applications using React.js and deploying them to the web. Throughout the course, students will learn the fundamental concepts of React.js, including component-based architecture, state management, props, and JSX syntax. Students will learn best practices for organizing and structuring React applications to ensure maintainability, scalability, and code reusability. In the latter part of the course, students will delve into the process of deploying React applications to various hosting platforms, including cloud services like Vercel, Heroku, and Netlify.
1

Prerequisites

SDC345 and SDC345L

Corequisites

SDC445

Cross Listed Courses

Formerly CIS453L

SDC470 Cloud Native Application Development

This course will provide students with the knowledge to design, develop, and monitor modern distributed cloud native applications. Students will facilitate the containerization, orchestration, and deployment of web applications and services. Students will utilize various software deployment tools and will also identify the steps needed to design resilient and easily scalable applications that are “cloud native.” Upon successful course completion, students will be able build an application based on microservices and troubleshoot issues systemic to modern distributed web applications.

3

Prerequisites

SDC320 and SDC320L or SDC330 and SDC330L

SDC480 Software Development Capstone

This course is specifically designed to support the overall software major and the student's selected concentration program by requiring the design of a project that encompasses objectives of their selected concentration.

3

Prerequisites

Approval of Academic Advisor

Cross Listed Courses

Formerly CIS480

SDC485 AI/ML and Data Analytics Methods and Modeling

This course will provide students with an application of data analytics methods, modelling, and visualization tools and techniques. Students will learn about different tools, methods, and approaches to the depiction of data. Upon successful course completion, students will be able to solve the challenges of analyzing data and communicating results to various stakeholders.

3

Prerequisites

SDC385

Corequisites

SDC485L

Cross Listed Courses

Formerly CIS469

SDC485L AI/ML and Data Analytics Methods and Modeling Lab

This course will provide students with application-oriented experiences in data analytics methods and modeling. Student will learn skills required to use data analytics methods and modeling tools in a data-oriented solution. Upon successful course completion, students will be able to apply the appropriate data analytics methods and modeling techniques using the right tools.
1

Prerequisites

SDC385

Corequisites

SDC485

Cross Listed Courses

Formerly CIS469L

SDC486L AI/ML and Advanced Data Analytics Lab

This course will provide students with application-oriented experiences in data visualization. Student will learn skills required to use data visualization tools in a data-oriented solution. Upon successful course completion, students will be able to apply the appropriate data visualization techniques using the right visualization tools.
1

Prerequisites

SDC485

Cross Listed Courses

Formerly CIS473L

SDC490 Software Development Externship

This course will provide students with real-world experience in a work environment appropriate for their concentration. Students will apply the skills they have acquired in their program to on-the-job work assignments. Upon successful course completion, students will have documented their attendance, activities, and achievements for the externship.

3

Prerequisites

Approval of Academic Advisor

SDC491 Software Development Externship I

This course will provide students with real-world experience in a work environment appropriate for their concentration. Students will apply the skills they have acquired in their program to on-the-job work assignments. Upon successful course completion, students will have documented their attendance, activities, and achievements for the externship.

1

Prerequisites

Approval of Academic Advisor

SDC492 Software Development Externship II

This course will provide students with real-world experience in a work environment appropriate for their concentration. Students will apply the skills they have acquired in their program to on-the-job work assignments. Upon successful course completion, students will have documented their attendance, activities, and achievements for the externship. 

1

Prerequisites

Approval of Academic Advisor

SDC493 Software Development Externship III

This course will provide students with real-world experience in a work environment appropriate for their concentration. Students will apply the skills they have acquired in their program to on-the-job work assignments. Upon successful course completion, students will have documented their attendance, activities, and achievements for the externship.
1

Prerequisites

Approval of Academic Advisor