CSC 210

Advanced Authoring for the Web

Course Syllabus

At the conclusion of this course, you should understand how the server-side web sites function, be able to create simple, dynamic web sites using PHP, and know how to manage information safely between the client and the server.

Students who wish to go further in the course will also have the opportunity to qualify themselves to complete a project using NodeJS.

Textbook

There is no textbook for this course. However, the following online resources will prove invaluable:

Prerequisites

This course assumes that you completed CSC 110 (formally numbered CSC223) - Authoring for the Web. It also assumes that you understood the material in that course fairly well.

Grading

This course is broken up into several parts. Students can move through the parts at their own pace, reporting on their progress during class meetings.

Phase 1: PHP

To begin this phase, you will complete a PHP training project. The training project is a significant, but well-documented project.

Some students may take a couple of weeks to complete this project, others may complete it in a much shorter amount of time. The pace you set is completely up to you. Completing this qualifier earns you a D for the course, and qualifies you to move on to the next part of Phase 1.

After completing the training project, you will be eligible to write a project proposal for a PHP-based project of your own design. Once you and the instructor agree on the scope and complexity of the project, you can take as much time on this project as you wish (up to the last day of class).

Making significant progress on this project earns you a C in the course. Completing the project successfully qualifies earns you a B in the course, and qualifies you to move on to Phase 2.

Phase 2: NodeJS

To begin phase 2, you will complete interactive tutorials on Advanced JavaScript, NodeJS, and Express. As with the PHP training project, these will take some time, but are well-documented and easy to follow along if you take your time and read carefully.

Completing all three of the tutorials will earn you a B+.

After completing the interactive tutorials, you will be eligible to write a project proposal for a NodeJS-based project of your own design. You could create a completely new project, or rewrite your project from Phase 1 using NodeJS.

Once you and the instructor agree on the scope and complexity of the project, you can take as much time on this project as you wish (up to the last day of class).

Making significant progress on this project earns you an A- in the course. Completing the project successfully qualifies earns you an A.

Other Course Policies

Class attendance is mandatory. You get two free missed classes. After that, each absence not cleared in advance with your instructor will result in the loss of 1 percentage point from your final grade.

Note that if you are traveling for school-related activities, such as excursions, concerts, or away games, it is still your responsibility to notify the instructor in advance.

Unforeseen emergencies are exempt from this penalty, but please see the Course Policies section for what counts as an unforeseen emergency.

About the Instructor

Dr. Falin

Dr. Lee Falin worked as a software engineer in industry for several years before completing his Bachelor’s of Computer Science at the University of Illinois, then going on to complete a PhD in Genetics, Bioinformatics, and Computational Biology at Virginia Tech.

After completing his PhD, he worked as a Bioinformatician at the European Bioinformatics Institute, while continuing to work and teach in the private sector.

He has launched a couple of micro-ISV startups, and taught at Virginia Tech, BYU-Idaho, and Southern Virginia University.

Dr. Falin’s research interests include machine learning, bioinformatics, software entrepreneurship, and education. Dr. Falin and his wife have five awesome children whom they homeschool.