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
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
Type | In Class | Out of Class |
---|---|---|
Lecture Hours | 4.0 | 8.0 |
Laboratory Hours | 1.5 | 0.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
- Required reading from the text.
- 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
- Formative exercises, projects, and quizzes requiring students to write code applying covered technology topics evaluated on completeness and correctness
- Evaluation of programming assignments based on correctness, documentation, code quality, and test plan executionsÂ
- 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.Â
- 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
- None
Examples of Primary Texts and References
Author | Title | Publisher | Date/Edition | ISBN |
---|---|---|---|---|
Boduch, Adam, and Roy Derks. | React and React Native: A Complete Hands-on Guide to Modern Web and Mobile Development with React. | Packt | 2020/3rd edition | 978-1839211140 |
Robbins, Jennifer. | Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics | O'Reilly Media | 2018/5th Edition | 978-1491960202 |
Purewal, Semmy.2014. ISBN ‎ 9781449370190 | Learning Web App Development: Build Quickly with Proven JavaScript Techniques 1st Edition. | O'Reilly Media | 2014/1st | 978-1449370190 |
Subramanian, Vasan. | Pro Mern Stack: Full Stack Web App Development with Mongo, Express, React, and Node. | Packt | 2019/2nd | 978-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
- Explore history, tags and Application Programming Interfaces (API).
- History of HTML / XHTML / HTML5
- HTML5 New Features.
- Structural, Content and Application-focused Tags
- Explore creating and structuring HTMLÂ documents.
- Structure a user interface with HTML, and include styles with CSSÂ
- Content models.Â
- Structure of basic page, top level elements and interior content.Â
- Use Cascading Style Sheets (CSS) to enhance and style Web Applications.Â
- Construct basic forms using HyperText Markup Language.Â
- Embed Audio and Video in applications.Â
- Use responsive web design for differing screen sizes.Â
- Evaluate client/middleware/server development tools.Â
- Client-side - frontend, HTML, CSS, JavaScript, JavaScript frameworks - Visual Studio Code, SublimeÂ
- Server-side - backend, hosting and web server, data storage, frameworks, programming language - Python, PHPÂ
- Libraries and frameworks - Django, Ruby on Rails, Angular, REACT, Bootstrap, Chrome DevToolsÂ
- Create data-driven web applications.Â
- Client-side programming - jQuery, JavaScript,Â
- Use web APIÂ
- HTML5 controls in web applicationsÂ
- Offline applications overview.Â
- Client / server linking - AJAX, JavaScript objects, JSONÂ
- Server-side programming - Node.jsÂ
- Uploading to web hostÂ
- Implement data caching and storage for web applicationsÂ
- NoSQL databases Redis and MongoDB
- Embedded, serverless relational management system SQLite
- Relational database program MySQL
- Use security techniques.Â
- SSL/TLS, HTTPS, SSH, SFTPÂ
- Sessions, cookies, and web storage APIÂ
- Single sign on (such as via OAuth)Â
- Apply best practices for web application developmentÂ
- Basic tips for writing maintainable code on both the client and serverÂ
- Set up a basic workflow with a text editor, version control system, and web browserÂ
- Checking document outlines and ensuring cross browser structure.Â
- Compatibility Testing using browsers and Mobile Devices.Â
- Discuss and analyze professional ethics for web applicationsÂ
Lab Topics
- Semantic web: read and run code, create a web application, and discuss pros and cons related to implementing these techniques and tools.
- HyperText Markup Language (HTML) documentsÂ
- Basic forms using HTMLÂ
- Web applications: read and run code, create a web application, and discuss pros and cons related to implementing these techniques and tools.Â
- Tags and Application Programming Interfaces (API) to build web applicationsÂ
- Cascading Style Sheets (CSS) to enhance and style web applicationsÂ
- 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.Â
- Audio and video mediaÂ
- 2-D and/or 3-D web API(s)Â
- Widgets and/or animation/effectsÂ
- Middleware and server technology: read and run code, create a web application, and discuss pros and cons related to implementing these techniques and tools.Â
- Web servers and data serversÂ
- APIs and controllersÂ
- 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.
- ¶Ù²¹³Ù²¹²ú²¹²õ±ð²õÌý
- Caching and offline storageÂ
- Native apps: read and run code, create a web application, and discuss pros and cons  related to implementing these techniques and tools.
- Mobile appsÂ
- Desktop appsÂ