Course Highlights - COMP2145
Target Population: This course
is designed for web developers, students, and programmers wanting
to learn how to do client-side programming.
This course covers two client-side languages:
PHP, which will run on either
a LAMP (Linux - Apache - MySQL - PHP) or a Windows web server.
ASP.NET, which runs on Windows web servers and uses Visual Studio as the
development environment.
Here's what you'll learn by taking this course:
-
A working knowledge of PHP, ASP.NET, and Drupal.
- Data types and control statements common to all
modern programming languages.
- Microsoft's Visual Studio programming environment.
- The use of SQL (Standard Query Language) to handle data from databases.
This course uses up-to-date teaching techniques allowing
you to learn by reading, listening, experimenting, and writing your
own code. Each module has specific Learning Activities designed to
help you learn in an interesting and fun manner as well as Assessment
Activities to help you determine exactly what you've learned.
This course is part of the
Web Programming Certificate
program at South
Central College.
Course Details
Web Programming - COMP2145 - Fall
2008
On-line and Face-2-Face via D2L. http://southcentral.edu/students/
This course is available as an on-line course with the instructor's
permission.
Credits - 4 credits
Required Textbooks:
Beginning PHP5
(Programmer to Programmer)
by
Dan Squier, David Mercer, et al, WROX Press.
ISBN:
978-0-7645-5783-5
Beginning
ASP.NET 3.5 in VB 2008
(Beginning
from Novice to Professional)
by Matthew MacDonald, Apress. ISBN 978-1-5905-9892-4
Optional Textbook:
Secrets of a Web Developer by Peter K. Johnson. This is a collection of all the tutorials
presented as part of this class. This 300-page book is spiral bound so it will lay flat
while you work through the tutorials.
Required Software:
EasyPHP (http://www.easyphp.org)
for Windows. This is a free application that will help you quickly set
up a PHP server on your development machine.
A copy of Microsoft's
Visual Studio Professional 2008.
(Note:
All SCC students can download the professional version for free using the SCC student
license we have purchased. Check with John Burns for more information. However, the
license can only be used for educational work and not professionally.)
Hardware: It is recommended that you have at least one flash drive to
store you work and class information. (Please back up your data on
a regular basis!)
For more information contact: Peter Johnson, Instructor
email: peter.johnson@southcentral.edu
phone:
507-389-7337
Learning Objectives
Server-Side Scripting using PHP
Install and use PHP on a local server.
- Describe Open Source and how it is affecting the IT industry.
- Draw a picture describing the relationship between client/server objects
used by PHP and mySQL.
- Install PHP and mySQL using EasyPHP package.
- Write a simple test program using PHP on the local server (http://localhost/
)
- Establish a working environment for PHP web page development.
- Use variables, constants, and environment variables in a PHP program.
Utilize XHTML forms and PHP to get information from the user.
- Create an XHTML reference page showing all the form objects.
- Use GET and POST to send variables to a PHP web page.
- Use isset() to check for the existence of variables.
- Use urlencode() and urldecode() to pass strings of words via the URL (method="get")
Utilize decision making constructs
in a PHP program.
- Use the if
else construct to make simple decisions.
- Use the switch statement to make multiple comparisons
on a single variable.
- Include external files
- Use the for loop to iterate through a list
- Convert a for loop into
a do while loop to
demonstrate the similarities.
Utilize decision making constructs
in a PHP program.
- Use the if
else construct to make simple decisions.
- Use the switch statement to make multiple comparisons
on a single variable.
- Use the for loop to iterate through a list
- Convert a for loop into
a do while loop to
demonstrate the similarities.
Use functions are part of your code
design.
- Write and use a function that receives parameters by value.
- Store the value of a value returned by a function in a variable.
- Demonstrate the use of indexed arrays.
- Demonstrate the use of associative arrays.
- Demonstrate the use of both local and global variables
in a program.
- Use the keyword static to maintain a value inside of a
function.
- Use the include( ) function to access functions stored in external files.
Utilize two techniques to overcome the
statelessness of the Web.
- Utilize regular expressions to validate input from user.
- Use regular expressions to prevent SQL injection.
- Use hidden fields to pass information to PHP modules.
- Use PHP sessions to create persistent variables that can be used
by multiple requests from a client browser session.
Use file I/O to read and write to files.
- Use file functions to read information from disk files.
- Use file functions to write data to disk files.
- Get file property information from the directory
- Copy, rename and delete files
Install mySQL and use phpMyAdmin
- Connect to a database.
- Use mysql_query( ) to perform SQL statements.
- Use phpMyAdmin to administer databases, tables, and fields.
Use SQL
- Create a table using SQL.
- Add new data to a table using SQL.
- Update records using SQL.
- Delete records using SQL.
- Query multiple tables using simple joins.
- Query multiple tables using inner and outer joins.
- Use store procedures.
- Demonstrate how stored procedures can prevent security breaches.
Install and Administer a Content Management System (CMS)
- Install Drupal on a server.
- Set up users with different rights.
- Establish and document backup procedures.
- Modify the design of the CMS using CSS.
Demonstrate how Web 2.0 encourages collaboration
- Describe why collaboration is important in today's world
- List ways that Web 2.0 can be used to make you money.
- Show at least five examples of Web 2.0 in action.
Server-Side Scripting Using
ASP.NET
Establish a server-side development environment using ASP.NET
- Create a HelloWorld.aspx file that runs on the server.
- Compare the differences
between IIS/Apache and Windows/Linux in regards to web development.
- Give three examples of classes including example properties
and methods
- Give an example of a classes and three objects (instances of the
class).
- Use namespaces in your ASP.NET web pages.
- Use comments as a development tool.
Utilize Web Controls and Validation Controls
- Describe the difference between an HTML Server control and a
Web Server Control
- Use at least three Web Server Controls in a web page.
- Validate user input from
a form using the web form validators.
- Handle events
Write event-driven web pages
- Utilize the three main events that
happen whenever a ASP.NET page is requested.
- Write a program that incorporates user-initiated
events such as onClick.
- Include examples of the four page object properties in a program:
Application, IsPostBack, Request, and Response.
- Use ASP.NET directives in your programs.
Connect to a Database using SQL and ADO.NET
- Connect to an Access
database using ADO.NET
- Display data from a database using the GridControl.
- Display data from a database using
the repeater control.
Build dynamic web pages using database server controls
- Allow user to update a database using editing controls in a GridControl.
- Utilize the SQL
UPDATE statement
- Utilize parameters to designate specific records
- Delete data from
a database.
- Allow
the user to sort and page through a DataGrid
Grading
A 97-100%
A- 90-96
B+ 87-89
B 84-86
B- 80-83
C+ 77-79
C 74-76
C- 70-73
D+ 67-69
D 64-66
D- 60-63
F Below 60%
The grading for this course is performance-based. You will not be
graded a curve. This means that your grade is based on the work you
do and not on what grade others in the class receive.
As your instructor I am the record-keeper of your points. I do not “give
you a grade”; I only keep track of the scores you receive.
You will earn your grade by demonstrating your knowledge of the learning
objectives listed at the bottom of each learning activity page. Complete
the work according to the specifications and you will receive points
accordingly.
One hint: This is a project and participation-based
course. For example, most projects are worth 25 points while a quiz
in the same module might only be worth only 10 points. This focuses
your efforts on demonstrating your knowledge in applying your
learning,
not just knowing the facts or memorized information. (It also makes
the things you learn in this course much more useful in the real
world!)
Course Policies
Be responsible for your own actions.
Respect due dates - No late projects, papers, or quizzes will
be accepted unless you have made prior arrangements in writing with
the instructor and have a valid and documented reason. All late projects
that are accepted will automatically drop one letter grade.
Quizzes - Make-up quizzes must be done on or before the next
class session. 10% will automatically be taken off the total available
points on all make-up exams.
Incomplete - An incomplete is granted due to serious extenuating
circumstances (e.g. a death in the immediate family, hospitalization,
etc.) near the end of the semester when the majority of the coursework
has been successfully completed. An incomplete will not be granted
for failing work.
Cheating - All graded projects must be your own work only. Cheating
or plagiarism is a serious breach of academic ethics and could lead
to sanctions including expulsion from college. When taking tests, protect
your answers from others. If cheating is discovered, all participants
will be penalized.
Special Needs -
If you have a disability and need accommodations to participate in
the course activities, please contact your instructor as soon as possible.
This information will be made available in an alternative format, such
as Braille, large print, or cassette tape, upon request.
Student contributions - Students are expected to:
-- Participate in course discussions and actively participate within
their team.
-- Complete all projects on or before the deadline.
-- Read all assigned material before class or chat sessions.
The Bottom Line -
I am here to help you learn and understand the material presented
in this course. Please let me know if you do not understand any concepts
or projects in this class. Feel free to clarify any questions you may
have during class, at my office, or via email. I am also open to any
suggestions you may have that would make this course more interesting
and/or useful.