Web Programming & Database Development (CWEB)

CWEB1114 | Introduction to Application Dev | Lecture/Laboratory (2 Credits)

Code responsive, secure web app using HTML, CSS, JavaScript and server-side language while understanding the Software development life cycle and modern development methodologies.

CWEB1115 | Programming Fundamentals | Lecture/Laboratory (3 Credits)

Examine programming principles like data types, variables, expressions, operators, Boolean logic, algorithm creation, flowcharts. Topics include: structured programming and programming logic constructs (sequence, selection, and loops); abstraction, modularization, dynamic and static data-structures, object-oriented and event driven programming.

CWEB1116 | Application Design I | Lecture/Laboratory (3 Credits)

This course provides students with a comprehensive introduction to building modern software applications with a focus on web technologies, structured programming, and emerging technologies like AI and data science. Students will be introduced to the methods of developing data-driven web applications using industry-relevant programming languages and will gain exposure to foundational data science and machine learning concepts through hands-on coding exercises.

CWEB1123 | Data Fundamentals | Lecture/Laboratory (2 Credits)

Examine the concepts of data and logical structures of data. Explore database types including relational, hierarchical, and graph data structures, and common search algorithms and query structures. Build a relational database using MySQL workbench. Utilize Structured Query Language (SQL) core skills (Queries, operators and keys).

CWEB1131 | Web Tooling | Lecture/Studio (3 Credits)

Use various tools to construct, manage, test, and maintain a web application throughout the life of the application. Explore concepts such as development environments, version control, continuous integration/deployment, testing, hosted environments, and application frameworks.

Prerequisite(s): CWEB1114

CWEB1202 | UI/UX Design | Lecture/Laboratory (3 Credits)

This course introduces web development students to the fundamentals of User Interface (UI) and User Experience (UX) design. It covers essential principles, methodologies, and best practices for creating user-centered web designs. Students will learn how to conduct user research, develop wireframes and prototypes, and apply design thinking to solve real-world web development challenges. The course includes hands-on projects using tools such as Figma, Adobe XD, and Sketch, with a focus on responsive and accessible web design.

Prerequisite(s): CWEB1116

CWEB1216 | Application Design II | Lecture/Laboratory (3 Credits)

This course builds upon foundational programming skills by introducing object-oriented design, reusable code structures, and secure development practices. It covers software design patterns, data handling, and key security concepts such as input validation, authentication, and error handling. The course also introduces essential AI topics including Machine Learning, Deep Learning, Natural Language Processing (NLP), Data Science, and AI-powered applications. Students will gain hands-on experience with prompt engineering and chain-of-thought reasoning as they design intelligent software components.

Prerequisite(s): CWEB1116

CWEB1221 | Data I | Lecture/Laboratory (4 Credits)

Students will explore fundamental concepts of data structures, database design, and basic data manipulation techniques. The course covers relational database management systems (RDBMS), emphasizing SQL for data definition, querying, and manipulation. Students will learn to design efficient database schemas, normalize data, and implement basic CRUD operations. The curriculum introduces data modeling techniques, including entity-relationship diagrams and database normalization. Students will gain hands-on experience with popular database management systems like MySQL or PostgreSQL. The course also covers basic data analysis concepts, introducing students to data visualization tools and simple statistical methods. File handling, data import/export, and basic data cleaning techniques are explored. Through practical projects and exercises, students will develop skills in creating, managing, and querying databases, as well as extracting meaningful insights from data.

CWEB1226 | Database I | Lecture/Laboratory (3 Credits)

Explore system quality attributes, various database models, purposes, and products. Gain proficiency in advanced Structured Query Language (SQL) programming, design and create database schemas, and develop extract-transform-load (ETL) processes. This course also covers a range of database administration tasks and techniques.

CWEB1231 | Application Design II | Lecture/Laboratory (4 Credits)

Students will explore complex software design principles, emphasizing scalability, maintainability, and performance optimization. The course covers object-oriented design concepts, SOLID principles, and architectural patterns such as MVC, MVVM, and microservices. Students will learn to design and implement RESTful APIs, handle concurrency, and manage distributed systems. The curriculum includes an in-depth study of design patterns, including creational, structural, and behavioral patterns, and their practical applications in real-world scenarios. Students will gain experience in designing for cloud-native applications and containerization. The course also covers aspects of user experience (UX) design, accessibility, and internationalization. Through a series of challenging projects, students will develop skills in creating robust, flexible, and efficient software architectures. Version control systems and collaborative development practices are emphasized throughout.

CWEB2102 | UX/UI Design Fundamentals | Lecture/Laboratory (3 Credits)

Develop basic Adobe CC software skills. Explore design and user-centered approaches to web development. Model UX/UI best practices in planning, research, prototyping, and user testing.

CWEB2116 | Application Design III | Lecture/Laboratory (3 Credits)

This course emphasizes the development of scalable, secure, and intelligent applications. Topics include secure application architecture, API development, and integration with databases. Students will explore the practical use of AI technologies, including custom ML models, NLP services, and AI-driven automation tools. Emphasis is placed on applying version control, modular software design, and secure development workflows throughout the application lifecycle.

Prerequisite(s): CWEB1216 And CWEB1226

CWEB2117 | Data Analytics | Lecture/Laboratory (4 Credits)

Students will learn to use popular data analysis tools and programming languages such as Python and R, focusing on libraries like Pandas, NumPy, and Matplotlib. The course explores statistical analysis techniques, including descriptive statistics, probability theory, and inferential statistics. Students will gain hands-on experience with data mining, machine learning algorithms, and predictive modeling. The curriculum also covers data visualization techniques to effectively communicate insights. Ethical considerations in data analysis, including privacy and bias, are discussed. Through practical projects and case studies, students will apply their skills to real-world datasets, learning to extract meaningful insights and make data-driven decisions. The course emphasizes the role of data analytics in software engineering, including its applications in user behavior analysis, performance optimization, and product development.

Prerequisite(s): CWEB1116 And CWEB1226

CWEB2122 | Application Design III | Lecture/Laboratory (4 Credits)

Students will focus on methodologies and technologies in software architecture exploring complex system design, emphasizing scalability, resilience, and high performance in distributed environments. The course covers advanced patterns such as event-driven architecture, domain-driven design, and reactive systems. Students will delve into microservices architecture, serverless computing, and containerization technologies. The curriculum includes designing for and implementing CI/CD pipelines. Advanced topics in API design are covered. Students will learn to design systems for big data processing, real-time analytics, and IoT applications. The course also addresses non-functional requirements such as security, performance optimization, and disaster recovery in large-scale systems. Emphasis is placed on making architectural decisions that balance technical requirements with business needs.

CWEB2125 | Database Systems: Programming and Admin | Lecture/Laboratory (3 Credits)

Create use and manage industry standard Linux and Windows based SQL database servers in a virtualized environment. Utilize Structured Query Language (SQL) advanced skills (Joins, Views and Stored Procedures). Stand up and define database driven web front ends on both Linux and Windows.

CWEB2126 | Database II | Lecture/Laboratory (3 Credits)

This course focuses on applying database and software project management, analysis, and design principles to create an enterprise data system that supports diverse business use cases. Students will learn strategies for tracking audit data, preventing duplicate records, and maintaining data history. The course also examines various database solutions and addresses the challenges of distributed, data-intensive systems.

Prerequisite(s): CWEB1226

CWEB2134 | Web Tooling | Lecture/Laboratory (4 Credits)

Students will explore a comprehensive ecosystem of tools and technologies essential for efficient web application development. The course covers hosted environments, containerization technologies, enabling students to deploy and manage web applications across various platforms. Version control systems, particularly Git, are emphasized for effective code management and collaboration. Students will gain proficiency in both front-end and back-end frameworks, learning to create responsive, dynamic web applications. The curriculum includes working with popular JavaScript frameworks for front-end development, and Node.js or Django for back-end services. Database integration using SQL is covered, along with ORM tools for efficient data management. The course also addresses web security best practices, performance optimization techniques, and responsive design principles.

CWEB2136 | Web Tooling | Lecture/Laboratory (3 Credits)

Develop web, mobile, or desktop applications by exploring hosted environments, containers, and cloud management services; integrating code versioning; utilizing front-end and back-end frameworks; and applying SQL and programming proficiency for secure and effective problem-solving.

CWEB2140 | Continuous Testing | Lecture/Laboratory (3 Credits)

Solidify a firm understanding of DevOps and DevSecOps. Evaluate automation tools that perform Unit, Integration, End-to-End, UI testing. Solidify an understanding of version, securing and feature enhancing code-based through the lens of the Software Development Life Cycle (SDLC) model.

CWEB2211 | Application Design IV | Lecture/Laboratory (4 Credits)

Students will develop a robust application implementing CRUD (Create, Retrieve, Update, Delete) operations while utilizing RESTful Web Services. The course emphasizes secure database practices, teaching students to design and implement database systems that protect sensitive information and maintain data integrity. Advanced algorithms are explored to optimize application performance and solve complex computational problems. Students will gain in-depth knowledge of secure development practices for both front-end and back-end components, including input validation, authentication, authorization, and protection against common web vulnerabilities. The curriculum covers modern front-end frameworks, server-side programming, and API design principles.

CWEB2216 | Application Design IV | Lecture/Laboratory (3 Credits)

This advanced course focuses on building secure and intelligent end-to-end software systems. Key areas include secure software development lifecycle (SDLC), threat modeling, secure data flow, and deployment practices. Students will implement advanced AI capabilities such as deep learning, predictive analytics, chain-of-thought reasoning, and prompt engineering to enhance application functionality. The course reinforces the application of advanced architecture, AI integration, and security in real-world development scenarios.

Prerequisite(s): CWEB2116 And CWEB1226

CWEB2221 | Continuous Testing | Lecture/Laboratory (4 Credits)

Students will gain a comprehensive understanding of these methodologies and their critical role in modern software development. The course covers a wide range of automation tools for various testing types, including Unit, Integration, End-to-End, and UI testing. Students will learn to design and implement robust testing strategies that seamlessly integrate into continuous integration and continuous deployment (CI/CD) pipelines. The curriculum emphasizes advanced version control techniques, security testing, and feature development practices within the Software Development Life Cycle (SDLC). Students will explore test-driven development (TDD), behavior-driven development (BDD), and security-focused testing approaches. The course also covers performance testing, load testing, and monitoring in production environments.

CWEB2222 | Continuous Testing | Lecture/Laboratory (3 Credits)

Solidify a comprehensive understanding of DevOps and DevSecOps, evaluating automation tools for Unit, Integration, End-to-End, and UI testing while enhancing proficiency in version control, security, and feature development within the Software Development Life Cycle (SDLC).

CWEB2225 | Database Systems: Concept and Design | Lecture/Laboratory (3 Credits)

Develop databases to support specific applications; explain database design methodology; use graphical models to document databases (UML, ERD, Data flow, etc.); optimize relational and NoSQL databases using normalization, de-normalization, indexing and ACID principles.

CWEB2226 | Application Design II | Lecture/Laboratory (3 Credits)

Building on knowledge learned from Application Design I, you will create a secure comprehensive full-stack application that implements CRUD(Create, Retrieve, Update, Delete) operations and utilize RESTful Web Service all while ensuring standards are upheld as it relates to usability, accessibility, performance.