Server-Side Programming

Spring 2015

Syllabus

  • Office Hours:
    • Mon:   2:20 - 3:10
    • Tues:   8:50 - 9:20 (Zurn 207)
    • Tues:   10:00 - 10:50
    • Tues:   1:00 - 1:50
    • Thur:   8:00 - 09:20 (Zurn 207)
    • Thur:   1:00 - 1:50

Course Details

Instr: Dr. Roger Griffiths
Office: Old Main 305
Email: griffiths.roger@gmail.com   (don't use my Mercyhurst email)
Phone:   824-2123
Location:   Main Computer Lab
Class Time:   Monday, Wednesday, Friday;   10:30 - 12:00
Web: http://math.mercyhurst.edu/~griff/courses/mis380/
My Schedule: http://math.mercyhurst.edu/~griff/courses/schedule.php
Text: PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide (4th Edition),   by Larry Ullman
Publisher: Peachpit Press; ISBN-13: 978-0321784070
We will continue to use the books from Internet Programming I.
[You already have this, or similar]   HTML and CSS: QuickStart Guide (8th Edition) ,   by Elizabeth Castro
[You already have this, and will probably need it]  CSS3: The Missing Manual (3rd ED)   by McFarland

Course Description:

Before enrolling in the course, the student should be competent working with HTML5 and CSS at the level required in our MIS280 Internet Programming 1 course, and in addition, understand basic computer operations on the operating system of their choice. You may work on any platform you like, Linux, Mac, Windows.

This is not a course in web page production or graphic design; but rather an introductory programming course. As a programming class, we will learn to create valid web content using a simple text editor, with a strong emphasis on validity and web standards compliance (as per the World Wide Web Consortium) and attention to detail (as per client job specifications). We will be working with a live server running Red Hat Enterprise Linux.

In addition to creating actual (live) web sites and enhancing their basic programming skills, students will learn to embed PHP in HTML, to interact with MySQL databases both at the command prompt and through the PHP engine, accessibility issues, the basics of (secure) file transfers, file management, and web server (Apache) configuration.
As a junior level course, the emphasis on you 'learning how to learn' will be even greater. We will also explore some other web technologies as seem applicable to our shared interests, JavaScript and possibly Ajax, PHP image generation, and/or SVG.

Learning Objectives:

By the end of this course, you will have acquired proficiency with both PHP and MySQL while learning basic server-side scripting and the use of MySQL through the PHP engine. More specifically:
  1. You will have a good understanding of PHP and programming with PHP, in particular:
    • Basic syntax, variables, strings, comments.
    • The client server relationship and server processing of PHP and MySQL queries.
    • The web development cycle.
    • Embedding HTML in a PHP file.
    • Conditionals and Operators.
    • Creating your own functions.
    • Handling Forms.
    • Error Handling and Debugging.
  2. You will have a basic understanding of MySQL and general SQL, including
    • Data types, and column properties.
    • Accessing MySQL.
    • Creating Databases and tables.
    • Inserting records, and selecting data.
    • Database design.
    • Performing joins and transactions.
  3. You will have a good working knowledge of using MySQL with PHP
    • Connecting to MySQL
    • Retrieving and updating records with PHP.
    • Using cookies and sessions.
    • Security methods.
  4. You will be able to use very simple regular expressions.
  5. You will continue to develop your ability to learn how to learn, arguably one of the most important computer programming skills.
  6. You will put all of these ideas together
    • as you build a complete store (e-commerce) website, and
    • build a dynamic web site for a client.

Assignments:

A number of job specifications (programming assignments) will be made during the term, with a specific due date. Assignments must be finished in on time, unfinished assignments will be graded as they existed at the deadline, or occasionally, penalized and permitted late.
There will also be two term-long projects:

  1. You will create an e-commerce site for a fictitious store; this will utilize a database backend.
  2. You will construct a complete web-site for a 'client'. For this large project you will work in teams.

Evaluation:

Percent % Letter Grade
94 to 100 A  
90 to 93 B+
84 to 89 B  
78 to 83 C+
70 to 77 C  
60 to 69 D  
Below 60 F  
There will be:
  1. homework assignments, which includes your projects,
  2. an in class midterm exam (100pt) and,
  3. a final exam (200pt cumulative)
    -- exams are closed-book and without the use of a computer.
Course grades will be calculated as follows:
  • In class exams:   45%
  • Assignments:       55%

Your overall performance in the course is measured by the total number of points you accumulate relative to the maximum points possible. These are the only points possible in this class, there is no extra credit or 'make up' for poor examination grades. Your letter grade in this course will be based on the distribution at right. If you ask for extra-credit, I will know that you did not bother to read this syllabus (your contract), which of course is not a good sign.

Course Policies:

  • You are responsible for all that is announced or covered in class even if you are absent. If you do miss class, you are expected to have a classmate fill you in on everything that was covered in class.
  • A prerequisite for additional help outside the classroom is regular class attendance.
  • Since you will be sitting in front of a computer every day in class, there is a strong temptation to 'play' during class - my suggestion: "Don't give in to that temptation" - more on this topic in class.
  • Email is great for simple communications, but more complex issues must be handled in person.
  • Don't use email as an excuse to avoid personal contact.
  • Due to the truly overwhelming amount of email I receive, any requests that involve much more than a yes or no response may not get addressed due to time constraints on my day, please come see me in that case.

Special Notes:


Learning Differences:

In keeping with college policy, any student with a disability who needs academic accommodations must call Learning Differences Program secretary at 824-3017, to arrange a confidential appointment with the director of the Learning Differences Program during the first week of classes.

Support of the Mercy Mission:

This course supports the mission of Mercyhurst University by creating students who are intellectually creative. Students will foster this creativity by: applying critical thinking and qualitative reasoning techniques to new disciplines; developing, analyzing, and synthesizing scientific ideas; and engaging in innovative problem solving strategies.