CS 212: Web Programming: Spring 2017 Course Syllabus
CS 212: Web Programming: Spring 2017 Course Syllabus
Course Information
Course Description
Introduces web programming. Emphasizes creating reactive, highly usable web sites. Introduces
HTML, CSS, PHP, MySQL, JavaScript, XML and ASP.NET.
Course Objectives
Upon successful completion of this course: you will have an understanding of basic web
programming techniques and methodologies. You will be able to use server side and client side
scripting techniques to build dynamic non-trivial websites.
Recommended Texts
Coursework
Projects are where you put the knowledge you've gained into practice, transitioning from
the theoretical to the practical with hands-on experience. Points are awarded based on the
completeness and quality of your work and the thoroughness of your project report.
The final is an incentive for you to ensure you fully understand the topics being covered -
as well as demonstrating that fact to the instructor. Points are awarded for correct answers.
Your class grade is based on the standard scale of points earned: 90%=A, 80%=B, 70%=C,
60%=D, below 60%=F. No grades are curved or dropped, though there are opportunities for
extra credit. Projects are individual effort.
There will be a number of extra credit possibilities that involve doing extra work on assignments.
Besides that, you can also get +2 points on any project by turning it in by midnight of the
Thursday before the project is due. Note that your project must fully work to receive the
extra credit.
Late Policy
Attendance
Regular attendance is expected. Don't be late, and don't leave until class is dismissed. Roll isn't
taken, but each lecture you miss seriously jeopardizes your overall comprehension of the
material and your chances to do well.
If you score less than 50% on the final exam, your final class grade (which includes the final
exam grade) will be reduced by one letter grade. This means that doing very poor on the final
can severely hurt your class grade. If you had 200/200 points ("A") before the final and made
25/50 points on the final, your final class average would be 225/250 (90%) but your final grade
would be "B".
The lecture topics follow the basic topics of the projects, but will probably not cover everything
you need to know. You are expected to use the online resources to supplement the lecture. In
addition, you may require additional material beyond the scope of this class in developing your
project site’s content. You will be graded primarily on the techniques and materials presented in
class but the quality of your content will not be ignored.
Plagiarism and Cheating
Grades are a way to motivate students and to evaluate students' mastery of a subject and their
ability to get work done. The grades you get are not themselves truly important, but instead are
representative of your knowledge, capabilities, and work ethic, and those are the things that
matter.
If you plagiarize source code, fabricate results, make fraudulent claims, or attempt to cheat in
any way, you are misrepresenting yourself, your level of understanding, your capabilities, and
your ability to accomplish things. It is dishonest and unethical.
Anyone who plagiarizes, copies, fabricates, or cheats will at the least receive a zero on that
assignment or test.
Consulting with others and using their advice on projects is fine. In fact, I encourage you to work
together and share ideas. However, the programs and content you submit should be your own
work that you thoroughly understand and are entirely responsible for. If you use code or content
from other sources, you must credit those sources and, where appropriate, obtain permission to
use them. Since our hosting means our work is publicly accessible, copyright and intellectual
property issues are a real concern.
Most assignments and handouts will only be available on BbLearn - they will not be handed out
in class. Any clarifications, corrections, and announcements will be posted on Bb Learn.
Bb Learn is the University’s system for automating record keeping and students are expected to
keep up with the content there as well as submit their work through the BbLearn system. In this
class, your main deliverable will consist of content on a NAU server. However, project reports
will be handed in via Bb Learn and your grades will be posted there. Read the assignment
policies at http://www.cefns.nau.edu/~pek7/Common/assignment.pdf to see how I expect work
to be submitted. Failure to follow the guidelines will affect your grade.
University Policies
There are a number of university policies that govern your education and safety that all students
should be aware of. These are:
http://nau.edu/OCLDAA/_Forms/UCC/SyllabusPolicyStmts2-2014
In addition, the EE/CS department has included its class dispute policies and there is a textbook
loan program (not applicable to this class but possibly useful for other courses.) These policies
may be found at:
http://www.cefns.nau.edu/~pek7/Common/policies.pdf
EXTENDED COURSE DESCRIPTION
1. Explanation of Prerequisites
CS 122, CS 122H, or CS 126
An ability to program alone and with a team.
An ability to solve small to medium sized problems with structured
programming.
An ability to employ the software design process and software design tools to
solve problems with computation.
2. Core Topics
Origins of Web
o Evolution of Media
o Origin of Markup
o Computer Aided Markup
o Integration of Networking
o Difference between ‘Web’ and ‘Internet’
HTML
o Servers, Browsers, and their interaction
o Creating and publishing web sites
o Layout of an HTML document
o Markup Tags
o Attributes
o Forms and form tags
o Shortcomings, active content, and PDF
Cascading Style Sheets
o Rule layout
o Internal and External CSS
o Selectors, block and inline, and rule hierarchy (cascading)
o Survey of properties
Web Design
o Identifying the audience, purpose of site
o Site maps and page layouts
o UI Design considerations
o Organization methods
Server-side scripting
o Server-side extension not seen by browser
o Script language elements
o Focus on arrays
o Sessions and session variables
o Forms
o Data storage in files
o email
Database Techniques
o Database advantages
o Database and Table design and administration
o SQL Commands
o Script and Database interaction
Client-side programming
o Browser-side extension
o Client-side script language elements
o Code creation, integration into HTML, and debugging
o Event handlers
o Survey of client-side properties
Document Object Model
o Description of DOM
o DOM properties
o Navigation of DOM
JQuery
o JS Library of tools
o Survey of JQuery Utilities
AJAX
o Mechanism and requirement for asynchronous database access
o Writing and debugging AJAX code
XML
o Description, general use
o comparison to HTML
o Well-formed documents, creating tags and attributes
o DTD and validation
o Namespaces
o Tools for creation and validation
o Tools for using XML
ASP.NET
o ASP Basics
o MVC
3. Tools
Tools used in this class include:
XAMPP (a free web server for local development)
A secure file transfer program (such as WinSCP for Windows)
An HTML capable programming environment (such as NetBeans)
An optional XML editor (such as Oxygen)
4. Learning Outcomes