Jul 13, 2024  
2018-2019 Course Catalog 
2018-2019 Course Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

CSCI 2006 - Internet Programming: Server-side Applications

Credits: 4
Hours/Week: Lecture None Lab None
Course Description: This course focuses on the server-side components involved in developing Internet programs. The course will examine some of the current languages, interfaces and technologies used to develop server-based applications that work in concert with client-side logic. Server-side scripting languages such as PHP will be used with a database (such as MySQL) to create database-driven websites. Concepts and techniques to implement secure websites will be presented.
MnTC Goals

Prerequisite(s): CSCI 2005  with a grade of C or higher or instructor consent. Introductory knowledge of database concepts and techniques
Corequisite(s): None
Recommendation: None

Major Content
  1. Overview of web servers in common use (IIS, Apache, GWS¿)
    1. Unique capabilities of each
    2. Advantages and disadvantages of each
  2. PHP Language
    1. Basic syntax
    2. Data types, operators, decision making and looping
    3. Arrays and Hashes
    4. Regular expressions and strings
    5. Functions
    6. Object-oriented PHP
    7. Error and exception handling
    8. File operations
  3. Review of Internet Theory
    1. The client/server model on the Internet
    2. The division of labor: client-side application responsibility vs server-side application responsibility
    3. The HTTP request/response protocol
  4. Database concepts and techniques
    1. Fundamental terminology and DB components
    2. Database design
    3. Database creation
    4. SQL Query fundamentals
    5. Accessing the database using PHP
  5. Web security concepts and techniques
    1. Type of ecommerce sites and threats
    2. Common security problems and solutions
    3. Techniques for authentication
    4. Techniques for secure transaction
  6. Advanced PHP Techniques
    1. Effective debugging techniques
    2. Techniques to access the server file system
    3. Session control
    4. Techniques to access date and time
  7. Creating a large, sophisticated PHP and database-driven project.
    1. Techniques for working on a large project
    2. Capstone project

Learning Outcomes
At the end of this course students will be able to:

  1. design and create a relational database, and access it via PHP scripts and queries to retrieve and store data that is a component of a dynamic website.
  2. design, develop, test and debug server-side scripts written in PHP that can deliver dynamic content to a web page.
  3. describe the logical model used for client-server interaction on the Internet.
  4. differentiate the processing responsibilities typically assigned to client logic and server logic.
  5. incorporate Asynchronous JavaScript technology in a website to provide asynchronous, partial-page updates to web pages.
  6. describe common website security threats and incorporate appropriate security measures to implement secure transactions.
  7. use course concepts and techniques to build a sophisticated, secure, dynamic client/server application.

Competency 1 (1-6)
Competency 2 (7-10)

Courses and Registration

Add to Portfolio (opens a new window)