Foothill College Course Outline of Record
|Hours:||4 lecture, 2 laboratory per week (72 total per quarter)|
|Advisory:||One of the following: C S 1A, 2A, 3A or equivalent; knowledge of HTML and CSS.|
|Degree & Credit Status:||Degree-Applicable Credit Course|
|Grade Type:||Letter Grade (Request for Pass/No Pass)|
Student Learning Outcomes
- Use a web application development environment that includes a browser, editor, debugger and code libraries.
The student will be able to:
A. Install and use a web application development environment.
I. Understand web application architecture.
J. Address performance in web applications.
K. Use XML and JSON to access data for a web application.
A. Web application development environment
1. Current browser with web development tools
2. Selenium for testing
4. Mobile browsers
5. Test driven development
B. Coding style
3. Object orientation
4. Names for identifiers
5. Tradeoffs between thin/fat client
7. Minimize dependencies between modules
8. Model/view controller architecture
1. Variables and data types
2. Expressions and operators
3. Control structures
4. Arrays and objects
5. Functions including recursion
D. Libraries and frameworks
E. User events
1. Mouse, keyboard, on page load, transitions
2. Model/View/Controller architecture
3. Interaction with HTML and CSS
4. Asynchronous request to server
5. Dynamic page refresh
F. Document Object Model
1. HTML 5 and CSS 3
2. Traversing a document
3. Finding elements in a document
4. Modifying elements in a document
G. Communicating with the server
1. Making requests to the server
2. Handling responses from the server
3. Asynchronous requests and responses
4. Synchronous requests and responses
1. Rendering an HTML page
2. Caching data for optimization
4. User authentication
5. Data storage
I. Web application architecture
1. Tomcat vs. node.js
J. Performance issues
1. Throughput vs. latency
3. UI issues: bookmarks and back button
4. Degradeable user interface
5. Issues with mobile platforms: phones and tablets
K. XML and JSON
1. Comparing XML and JSON
2. Storage of metadata
3. Storage of user data
A. Install and use a web development environment to create and debug a web application
1. Use iterative development
2. Use test driven development
3. Use good programming style
B. Incorporate JQuery in a web application
C. Write a web application that creates and uses its own namespace
F. Write a program with a dynamic user interface
G. Make an asynchronous request from the server
I. Write an application that has registered users
J. Write an application that stores data:
1. On the server
2. On the client
K. Write an application that includes an animation and a transition
Special Facilities and/or Equipment
B. Web server that will host the student work.
C. Website or course management system with an assignment posting component (through which all lab assignments are to be submitted) and a forum component (where students can discuss course material and receive help from the instructor). This applies to all sections, including on-campus (i.e., face-to-face) offerings.
D. When taught via Foothill Global Access on the internet, a fully functional and maintained course management system through which the instructor and students can interact.
E. When taught via Foothill Global Access on the internet, students must have currently existing email accounts and ongoing access to computers with internet capabilities.
Method(s) of Evaluation
A. Tests and quizzes
B. Written laboratory assignments which include source code, sample runs and documentation
C. Final examination
Method(s) of Instruction
B. Online labs (for all sections, including those meeting face-to-face/on campus), consisting of:
1. A programming assignment webpage located on a college-hosted course management system or other department-approved internet environment. Here, the students will review the specification of each programming assignment and submit their completed lab work.
2. A discussion webpage located on a college-hosted course management system or other department-approved internet environment. Here, students can request assistance from the instructor and interact publicly with other class members.
C. Detailed review of programming assignments which includes model solutions and specific comments on the student submissions.
D. In person or online discussion which engages students and instructor in an ongoing dialog pertaining to all aspects of designing, implementing and analyzing programs.
E. When course is taught fully online:
1. Instructor-authored lecture materials, handouts, syllabus, assignments, tests, and other relevant course material will be delivered through a college-hosted course management system or other department-approved internet environment.
2. Additional instructional guidelines for this course are listed in the attached addendum of CS department online practices.
Representative Text(s) and Other Materials
Types and/or Examples of Required Reading, Writing, and Outside of Class Assignments
1. Textbook assigned reading averaging 30 pages per week.
2. Reading the supplied handouts and modules averaging 10 pages per week.
3. Reading online resources as directed by instructor though links pertinent to programming.
4. Reading library and reference material directed by instructor through course handouts.
1. Writing technical prose documentation that supports and describes the programs that are submitted for grades.