Course Syllabus
CS50C: Web Development 3: JavaScript
Section 1828, Fall 2017 Course Syllabus
This syllabus is available in the following formats:
- Word document: SRJC CS50C 1828 Fa 2017 Syllabus Final v1.docx
- PDF file: SRJC CS50C 1828 Fa 2017 Syllabus Final v1.pdf
Instructor: Ethan Wilde, ewilde@santarosa.edu
Please watch this short introduction video from me, Ethan Wilde, your instructor.
Course Description
JavaScript is a cross-platform, object-based scripting language. This course provides a solid foundation in JavaScript and shows students how to create scripts and incorporate them into web pages. Projects include writing Javascript and jQuery programs that manage dynamic content and web page elements such as image slideshows; menus, tabs and panels; form controls and dialogues. Students will also create data-driven web elements using AJAX and API interfaces to web services such as maps and social media.
Recommended Preparation: Course Completion of CS 50.11B OR Course Completion of CS 50A
Prerequisites: Course Completion of CS 50.11B OR Course Completion of CS 50A
Whether you want to become a professional member of a web development team, a game programmer, or a software developer, mastery of the JavaScript programming language is essential to those goals. We will engage in advanced JavaScript language explorations, including use of open source JavaScript libraries such as the jQuery library, the data visualization library D3, and browser-based game programming using the Phaser library. You will become proficient in the creation of interactive experiences using JavaScript and the many freely available open source libraries written in the language.
Student Learning Outcomes
Students will be able to:
- Code and deploy basic and intermediate JavaScript, jQuery, and AJAX programs.
- Demonstrate and apply the Document Object Model (DOM) and other fundamental Internet technologies accessible through Javascript.
Upon completion of the course, students will be able to:
- Analyze and customize Javascript code.
- Write JavaScript code that selects and manages document elements, validates form data, creates interactive elements, accesses server data.
- Apply appropriate user experience and interactive design concepts to custom websites.
- Demonstrate JavaScript scripting skills in a variety of student-designed projects.
Topics and Scope:
- Introduction to JavaScript
- JavaScript Fundamentals
- Putting JavaScript to Work
- The Document and Window Objects
- Arrays
- Working with Numbers and Dates
- Working with Strings
- Working with Forms
- Working with Dynamic Data
- Introduction to jQuery
- jQuery: Styling Elements
- jQuery: Animating Elements
- jQuery: Images and Slideshows
- jQuery: Navigation
- D3: Data Visualization
- Phaser: Game Development
Assignments:
- Read approximately 25 pages per week
- Create 6-8 original JavaScripts and incorporate them into a web-based experience
- Download, customize and integrate existing JavaScript libraries into a web-based experience
- Download and deploy the jQuery library in a web-based experience
- Create a unified website incorporating all class projects and materials
- Quizzes, midterm and final exam
- Project critiques
- Participation in electronic message board discussions (online only classes)
Class Meetings
Fall 2017 Schedule
Online | Weeks start on Tuesdays | Canvas shell |
All class materials for each module will be released online in Canvas on Tuesdays throughout the entire semester.
Instructor Contact
Ethan Wilde
Email: ewilde@santarosa.edu
Phone: 707-527-4855
Fall 2017 Office Hours
August 21 – December 15, 2017
Mondays | 2:00pm - 3:00pm | Maggini 2937 |
Tuesdays (Online) | 8:00am - 11:00am | Online: Email ewilde@santarosa.edu or Skype ethanwilde |
Tuesdays (Online) | 4:40pm - 5:40pm | Online: Email ewilde@santarosa.edu or Skype ethanwilde |
You can reserve future appointments for my office hours online by visiting http://srjc.ethan.com/reserve/.
I respond to emails within 48 hours. I never respond on Sundays.
Course Web Site
Students will use the Canvas course web site for assignment instructions, submitting assignments, viewing classmates' work, sharing resources, and viewing grades. The Google Chrome browser is recommended for viewing the Canvas-powered course site. Internet Explorer is not recommended.
Textbooks
Learning JavaScript: JavaScript Essentials for Modern Application Development (3rd)
Ethan Brown
1491914912 (ISBN 10)
978-1491914915 (ISBN 13)
SRJC Libraries eBook available
Consider getting a copy of this recommended reference.
JavaScript: The Definitive Guide (6th)
David Flanagan
0596805527 (ISBN 10)
978-0596805524 (ISBN 13)
SRJC Libraries call number: QA76.73.J39 F53 2011
SRJC Libraries physical book available
Consider buying a used copy. You can locate and order textbooks online via the SRJC Bookstore.
Equipment
- A personal computer, either at home, work or on the Santa Rosa or Petaluma campuses.
Required Software + Services
- Internet access
-
Web browser
- Google Chrome strongly recommended
-
Text editor, for Week 1 only, such as:
- TextWrangler (Mac OS only)
- Brackets (Windows, Mac OS)
- Sublime Text (Windows, Mac OS, Linux)
-
Cloud hosting + development service
- Cloud9 IDE (Integrated Development Environment) required for all students, starting Week 2, for hosting class assignments. This service provides a complete set of browser-based tools in place of the optional software listed below. Complete the hosting survey to get your free account.
-
Graphics software such as:
- Adobe Photoshop, part of a Creative Cloud subscription
- Gimp open source application
- Pixlr browser-based image editor
- PDF display software such as:
Optional Software
The additional software listed below is often used for Web development. Our cloud-based IDE – Cloud9 – will provide a text editor and file transfer support without any additional software needed.
- Additional Web browsers including:
- Mozilla Firefox
- Apple Safari (Mac OS only)
- Microsoft Edge (Windows 10 only)
- File Transfer Protocol (FTP) software such as:
Important Dates
Day Class Begins: Tuesday, August 22, 2017
Day Class Ends: Friday, December 15, 2017
Last Day to Add without instructor's approval: Sunday, August 27, 2017
Last Day to Drop with refund: Sunday, September 3, 2017
Last Day to Add with instructor's approval: Sunday,September 10, 2017
Last Day to Drop without a 'W' symbol: Sunday, September 19, 2017
Last Day to Opt for Pass/No Pass: Sunday, October 1, 2017
Last Day to Drop with a 'W' symbol: Sunday, November 19, 2017
Dropping the Class
If you decide to discontinue this course, it is your responsibility to officially drop it. A student may be dropped from any class when that student's absences exceed ten percent (10%) of the total hours of class time. It is strongly advised that if you need to miss more than one class/homework deadline in a row that you contact the instructor to avoid being dropped from the class.
Attendance
For online courses, students who fail to complete the requirements of the first and second class modules will be dropped by the instructor.
Pass‐NoPass (P/NP)
You may take this class P/NP. You must decide before the deadline, and add the option online with TLC or file the P/NP form with Admissions and Records. With a grade of C or better, you will get P.
You must file for the P/NP option by October 1, 2017. Once you decide to go for P/NP, you cannot change back to a letter grade. If you are taking this course as part of a certificate program, you can probably still take the class P/NP. Check with a counselor to be sure.
Instructor Announcements and Q&A Forum
The instructor will post announcements on the “Instructor Announcements” page in Canvas throughout the semester. Canvas notifies students according to their preferred Notification Preferences.
Late Policy
All assignments are due at 11:59pm PST on the Monday corresponding to the due date. A late submission will receive a 10% penalty for each week it is late. Submissions more than two weeks late are not accepted without prior written arrangement.
Exams
There will be online midterm and final exams. The material comes from the textbook, class lectures and supplemental materials. If any exam is missed, a zero will be recorded as the score, unless you have made prior written arrangements with me. It is your responsibility to take the exams by the due date.
Grading Policy
Click the “Grades” link in Canvas to keep track of your grades. I grade once a week and post grades and comments in the Canvas gradebook.
Grades will be assigned as follows:
A |
90% - 100% |
900 points or more |
---|---|---|
B |
80% - 89% |
800 to 899 points |
C |
70% - 79% |
700 to 799 points |
D |
60% - 69% |
600 to 699 points |
F |
59% or lower |
599 points or less |
Grading Breakdown
62% |
620 points |
Projects + Assignments |
---|---|---|
12% |
120 points |
Discussions + Attendance |
6% |
60 points |
Quizzes |
10% |
100 points |
Midterm |
10% |
100 points |
Final Exam |
100% |
1000 points |
1000 points possible |
Standards of Conduct
Students who register in SRJC classes are required to abide by the SRJC Student Conduct Standards. Violation of the Standards is basis for referral to the Vice President of Student Services or dismissal from class or from the College. See the Student Code of Conduct page.
Collaborating on or copying of tests or homework in whole or in part will be considered an act of academic dishonesty and result in a grade of 0 for that test or assignment. Students are encouraged to share information and ideas, but not their work. See these links on Plagiarism:
SRJC Writing Center Lessons on avoiding plagiarism
SRJC's statement on Academic Integrity
Special Needs
Every effort is made to conform to accessibility standards for all instructor-created materials. Students should contact their instructor as soon as possible if they find that they cannot access any course materials. Students with disabilities who believe they need accommodations in this class are encouraged to contact Disability Resources by calling (707) 527-4278 or visit online at drd.santarosa.edu.
Student Health Services
Santa Rosa Junior College offers extensive health services to students. Visit Student Health Services online at shs.santarosa.edu or call them at (707) 527-4445.
Course Outline
Start Date |
Canvas Module |
Topics | Assignments |
8/22 | Week 1 | Introduction to JavaScript, Part 1 |
Hosting Signup Survey Assignment 1: Syllabus Quiz Discussion 1: Check-in Discussion Reading: Learning JS, Ch. 1 |
8/29 | Week 2 | Introduction to JavaScript, Part 2 |
Assignment 2: Card Sorting Reading: Learning JS, Chs. 3 + 5 |
9/5 | Week 3 | Introduction to JavaScript, Part 3 |
Assignment 3: Events Discussion 2: Events + Objects Reading: Learning JS, Chs. 4 + 6 |
9/12 | Week 4 | Exploring the jQuery Library |
Assignment 4: Quiz App Reading: Learning JS, Chs. 18 + 19 |
9/19 | Week 5 | Exploring the jQuery UI Library |
Assignment 5: Enhanced User Interfaces Discussion 3: jQuery + JavaScript Libraries Reading: Learning JS, Ch. 9 |
9/26 | Week 6 | Exploring jQuery Plug-ins |
Assignment 6: Plug-in Promotional Site Quiz 1 Reading: online |
10/3 | Week 7 | Exploring the Google Maps API |
Assignment 7: Class Map Discussion 4: Concepts of Geolocation Reading: Learning JS, Ch. 7 |
10/10 | — | (No class due to fires) | |
10/17 | — | (No class due to fires) | |
10/24 | Week 8 | AJAX: Working with JSON Data |
Midterm Project: Map-Based Mobile App Reading: Learning JS, Ch. 14 |
10/31 | Week 9 | Midterm Review | Midterm Exam Discussion: Midterm Project Presentations |
11/7 | Week 10 | Data Visualization, Part 1 |
Assignment 8: Basic Data Visualization Discussion 5: Concepts of Data Visualization Reading: Learning JS, Ch. 10 |
11/14 | Week 11 | Data Visualization, Part 2 |
Assignment 9: Advanced Visualization Reading: online |
11/21 | Week 12 | Browser-based Game Development, Part 1 |
Assignment 10: Basic Game Discussion 6: Concepts of Game Development Reading: online |
11/28 | Week 13 | Browser-based Game Development, Part 2 |
Assignment 11: Advanced Game Quiz 2 Reading: online |
12/5 | Week 14 | Building Mobile Apps with Angular.js, Part 1 |
Assignment 12: Draft Mobile App Discussion 7: Concepts of Mobile Applications Reading: Learning JS, Ch. 15 |
12/12 | Week 15 | Building Mobile Apps with Angular.js, Part 2 |
Assignment 13: Enhanced Mobile App Reading: online |
12/5 | Week 16 | Server-side JavaScript with Node.js, Part 1 (Optional) |
Assignment 14: JSON-Powered Mobile App Discussion 8: Node.js JavaScript Runtime Reading: Learning JS, Chs. 2 + 20 |
12/12 | Week 17 | Server-side JavaScript with Node.js, Part 2 Final Review (Optional) |
Final Project: Angular.js Mobile Portfolio App Reading: Learning JS, Ch. 13 |
12/18 Mon |
Week 18 | No Regular Class | Final Exam Discussion: Final Project Presentations |
Note to students: the assignments listed above will become available as modules are released in sequence each week. To view course content, go to Modules.
Course Summary:
Date | Details | Due |
---|---|---|