CSIS 314 - Client-Server Programming

Course Description

This course provides an introduction to constructing complete information systems based on the client-server model. On the client side, we introduce graphical user-interfaces, their design and implementation, as well as commonly used tools such as database access clients and report generators. On the server side we introduce database management systems and the use of server-side programming tools that provide connectivity for clients and access to database systems. Along the way, students are introduced to the basics of distributed computing and computer networks.

Instructor

Dr. David M. Hansen
Current Weekly Schedule

Texts

Required
  • Welling & Thomson. PHP and MySQL Web Development Indianapolis, IN: Sams Publishing.
Recommended (Very Strongly!)
  • Musciano & Kennedy. HTML & XHTML: The Definitive Guide Sebastopol, CA: O'Reilly & Associates.
  • (Good SQL help - great for CSIS 340 too)
  • Ben Forta, Sams Teach Yourself SQL in 10 Minutes Indianapolis, IN: Sams Publishing.
  • Various. PHP Reference Manual On-line manual.

Objectives

  • Students will put their programming skills to use in constructing a complete end-to-end information system solution. This will often be their first opportunity to construct a non-trivial system of software.
  • Students will be introduced to a number of topics that are covered in more detail in other courses. This introduction serves two purposes:
    1. It gives all students exposure to important technologies and components (e.g., networks, database systems and languages, clients, middleware development tools).
    2. Students will be better prepared to choose follow-on courses that explore some of these topics in much greater detail, improving their ability to tailor their degree.

Course Organization

In addition to regular lectures and written assignments, this course will include a substantial programming assignment that will result in the construction of a complete end-to-end information system solution.

Programming assignments may be carried out in one or more prescribed high-level languages. Instruction in the use of these languages will be provided.

The course will include regular homework and programming assignments (please see my comments on collaboration and programming). Assignments are due before 11:59pm on the due date; there will be NO CREDIT given for late assignments (without an excused absence) - turn in as much as you can.

Reading assignments should be completed before the lecture covering the material. Not all reading material will be covered in the lectures, but you will be responsible for the material on homework and exams. Quizzes over the assigned reading may be given at any time.

The Vision Statement of the Computer Science and Information Systems majors states that our students are distinctive by: "Bringing a Christ-centered worldview to our increasingly technological world." As one step towards the fulfillment of this objective, each semester, we will identify an influential Christian writing to be read and reflected upon by students in our classes throughout the term. This will be treated as an official component of every course and will be uniquely integrated and assessed at our discretion, generally as a component of the quiz grade. See the semester's reading schedule. In addition, regular meetings will be scheduled throughout the semester that can be attended for Chapel credit.

It is my hope that students will not view this as one more task to complete, but as a catalyst for continued discussion ultimately leading to a deeper walk with Christ.

The chief end of man is to glorify God, and enjoy Him forever.
(Westminster Confession)

If you have specific physical, psychiatric, or learning disabilities and require accommodations, please contact the Disability Services office early in the term so that your learning needs may be appropriately met. You will need to provide current documentation of your disability to Disability Services. For more information, contact Rick Muthiah, Director of Disability Services.

Grading

Grading Scale

The final grade will be based on:

Tentative Schedule

Lectures Topic Reading
Section Text
1 Introduction

1 Backend Servers: Databases Lesson 1 SQL
1 Command-line access

3 SQL "select" Lessons 2-14, & 18 SQL
Ch. 9 PHP
1 SQL "update", "insert", and "delete" Lessons 15, 16, & 20 SQL
1 Project Database    
1 Frontend Clients: Web Browsers Ch. 1 HTML
2 Version Control    
2 HTML Basics and Text Formatting Ch. 2-4 (skim 5) HTML
1 Links & Lists Ch. 6 & 7 HTML
4 Forms & JavaScript Ch. 9 & 12 HTML
2 Tables Ch. 10 HTML
1 CSS Ch. 8 HTML
1 Design Guidelines

1 Middleware: Introduction to PHP Introduction PHP
2 Basics of PHP Ch. 1 PHP
1 Arrays Ch. 3 PHP
1 String Manipulation Ch. 4 PHP
2 Database Access Ch. 10 (scan 11) PHP
2 Subprogramming Ch. 5 PHP
2 Sessions Ch. 23 PHP
3 Security Chs. 15-17 PHP
2 XML Ch. 15 & 16 HTML
3 Other Technologies (RMI, CORBA, etc.) Ch. 33 PHP
This page was last updated .
For questions or comments about this page, please hemaster.