Active Outline

General Information


Course ID (CB01A and CB01B)
CISD089D
Course Title (CB02)
Data-Driven Web Application Development
Course Credit Status
Credit - Degree Applicable
Effective Term
Fall 2024
Course Description
In this course, students will design and develop web-based applications that deliver features and functionality using web client and server technologies associated with full-stack web apps.
Faculty Requirements
Discipline 1
[Computer Science]
Discipline 3
[Computer Information Systems (Computer network installation, microcomputer technology, computer applications)]
FSA
[FHDA FSA - CIS]
Course Family
Not Applicable

Course Justification


This CTE course is CSU transferable. It is part of the Web Development Certificate of Achievement. This course explores web-based applications that are data-driven with client/server storage systems. The course identifies security techniques and best practices for web application development.

Foothill Equivalency


Does the course have a Foothill equivalent?
No
Foothill Course ID

Course Philosophy


Formerly Statement


Course Development Options


Basic Skill Status (CB08)
Course is not a basic skills course.
Grade Options
  • Letter Grade
  • Pass/No Pass
Repeat Limit
0

Transferability & Gen. Ed. Options


Transferability
Transferable to CSU only

Units and Hours


Summary

Minimum Credit Units
4.5
Maximum Credit Units
4.5

Weekly Student Hours

TypeIn ClassOut of Class
Lecture Hours4.08.0
Laboratory Hours1.50.0

Course Student Hours

Course Duration (Weeks)
12.0
Hours per unit divisor
36.0
Course In-Class (Contact) Hours
Lecture
48.0
Laboratory
18.0
Total
66.0
Course Out-of-Class Hours
Lecture
96.0
Laboratory
0.0
NA
0.0
Total
96.0

Prerequisite(s)


Corequisite(s)


Advisory(ies)


ESL D272. and ESL D273., or ESL D472. and ESL D473., or eligibility for EWRT D001A or EWRT D01AH or ESL D005.

CIS D089C

Limitation(s) on Enrollment


Entrance Skill(s)


General Course Statement(s)


Methods of Instruction


Lecture including discussion of assigned reading,

Demonstration of developing solutions to programming problems,

In-class review as test preparation

Discussion of solutions to assigned homework, lab assignment projects, and test problems,

Collaborative projects,

On-line tutorial

Assignments


  1. Required reading from the text.
  2. Programs: 8-12 programming homework assignments pertaining to the topics listed in X as Lab Topics, including several of more than 50 lines and several which use 3 or more functions.

Methods of Evaluation


  1. Formative exercises, projects, and quizzes requiring students to write code applying covered technology topics evaluated on completeness and correctness
  2. Evaluation of programming assignments based on correctness, documentation, code quality, and test plan executions 
  3. One or two midterm examinations requiring students to write code evaluated on producing correct results and application of topics covered in the lectures and reading. 
  4. Final examination evaluated on producing correct results and requiring students to write code applying topics covered in the lectures, reading, and programming assignments. 

Essential Student Materials/Essential College Facilities


Essential Student Materials: 
  • None
Essential College Facilities:
  • None

Examples of Primary Texts and References


AuthorTitlePublisherDate/EditionISBN
Boduch, Adam, and Roy Derks.React and React Native: A Complete Hands-on Guide to Modern Web and Mobile Development with React.Packt2020/3rd edition978-1839211140
Robbins, Jennifer.Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web GraphicsO'Reilly Media2018/5th Edition978-1491960202
Purewal, Semmy.2014. ISBN ‎ 9781449370190Learning Web App Development: Build Quickly with Proven JavaScript Techniques 1st Edition.O'Reilly Media2014/1st978-1449370190
Subramanian, Vasan.Pro Mern Stack: Full Stack Web App Development with Mongo, Express, React, and Node.Packt2019/2nd978-1484243909

Examples of Supporting Texts and References


None.

Learning Outcomes and Objectives


Course Objectives

  • Explore history, tags and Application Programming Interfaces (API).
  • Explore creating and structuring HTML documents.
  • Evaluate client/middleware/server development tools.
  • Create data-driven web applications.
  • Implement data caching and storage for web applications
  • Use security techniques.
  • Apply best practices for web application development

CSLOs

  • Create web pages using Hypertext Markup Language (HTML), Cascading Style Sheets (CSS), JavaScript, and the Document Object Model (DOM), and demonstrate how they interact together within a web document using techniques that are responsive to differing screen sizes.

  • Create Web applications that deliver similar features and functions previously associated with desktop applications through the use of libraries or frameworks.

  • Create data-driven web applications that work with client or server storage systems.

  • Read, analyze and explain intermediate level Web Applications.

Outline


  1. Explore history, tags and Application Programming Interfaces (API).
    1. History of HTML / XHTML / HTML5
    2. HTML5 New Features.
    3. Structural, Content and Application-focused Tags
  2. Explore creating and structuring HTML documents.
    1. Structure a user interface with HTML, and include styles with CSS 
    2. Content models. 
    3. Structure of basic page, top level elements and interior content. 
    4. Use Cascading Style Sheets (CSS) to enhance and style Web Applications. 
    5. Construct basic forms using HyperText Markup Language. 
    6. Embed Audio and Video in applications. 
    7. Use responsive web design for differing screen sizes. 
  3. Evaluate client/middleware/server development tools. 
    1. Client-side - frontend, HTML, CSS, JavaScript, JavaScript frameworks - Visual Studio Code, Sublime 
    2. Server-side - backend, hosting and web server, data storage, frameworks, programming language - Python, PHP 
    3. Libraries and frameworks - Django, Ruby on Rails, Angular, REACT, Bootstrap, Chrome DevTools 
  4. Create data-driven web applications. 
    1. Client-side programming - jQuery, JavaScript, 
    2. Use web API 
    3. HTML5 controls in web applications 
    4. Offline applications overview. 
    5. Client / server linking - AJAX, JavaScript objects, JSON 
    6. Server-side programming - Node.js 
    7. Uploading to web host 
  5. Implement data caching and storage for web applications 
    1. NoSQL databases Redis and MongoDB
    2. Embedded, serverless relational management system SQLite
    3. Relational database program MySQL
  6. Use security techniques. 
    1. SSL/TLS, HTTPS, SSH, SFTP 
    2. Sessions, cookies, and web storage API 
    3. Single sign on (such as via OAuth) 
  7. Apply best practices for web application development 
    1. Basic tips for writing maintainable code on both the client and server 
    2. Set up a basic workflow with a text editor, version control system, and web browser 
    3. Checking document outlines and ensuring cross browser structure. 
    4. Compatibility Testing using browsers and Mobile Devices. 
    5. Discuss and analyze professional ethics for web applications 

Lab Topics


  1. Semantic web: read and run code, create a web application, and discuss pros and cons related to implementing these techniques and tools.
    1. HyperText Markup Language (HTML) documents 
    2. Basic forms using HTML 
  2. Web applications: read and run code, create a web application, and discuss pros and cons related to implementing these techniques and tools. 
    1. Tags and Application Programming Interfaces (API) to build web applications 
    2. Cascading Style Sheets (CSS) to enhance and style web applications 
  3. Front end and media technology in web applications: read and run code, create a web application, and discuss pros and cons related to implementing these techniques and tools. 
    1. Audio and video media 
    2. 2-D and/or 3-D web API(s) 
    3. Widgets and/or animation/effects 
  4. Middleware and server technology: read and run code, create a web application, and discuss pros and cons related to implementing these techniques and tools. 
    1. Web servers and data servers 
    2. APIs and controllers 
  5. Front and back end data storage and modeling for web applications: read and run code, create a web application, and discuss pros and cons related to implementing these techniques and tools.
    1. ¶Ù²¹³Ù²¹²ú²¹²õ±ð²õÌý
    2. Caching and offline storage 
  6. Native apps: read and run code, create a web application, and discuss pros and cons  related to implementing these techniques and tools.
    1. Mobile apps 
    2. Desktop apps 
Back to Top