CSIS 786: Developing Web Applications Using ASP.NET

Start Here

Course Overview

The CSIS 786: Developing ASP.NET Web Applications course is a Journeyman level Internet Authoring course designed to give students the fundamental language skills necessary to develop modern day Web sites. In order to successfully complete this course read everything thoroughly!!!

Typographical Conventions

To assist you to visually recognize key components within the online text, I have done my best to be consistent in using four main visual indicators as follows:

  1. Light Green Italics - text with this appearance is text that refers to one of the links in the Canvas course menu.
  2. Green Text - are hypertext links within the text you are reading, when moving your mouse over the text the text will become underlined. By clicking on these links you will be provided additional information about what you are currently reading.
  3. Bold Red Text - is very important information; read it two or three times if you must, to be absolutely sure you understand what it says.
  4. Bold and/or Italic text - Is used for the names of course objects like: the Lesson 1 folder, a Quiz, a Learning Unit Exam, and to emphasize key terms like a Web browser's Back button, or a Submit button used in an exam or form. In lesson content it is used to identify keywords.
Table of Contents

Where Do I Start?

  1. Finish reading all of this Start Here page
  2. Next, click on this link and read: Department Email Policy
  3. Then read the Syllabus, which will inform you of the content and the due dates for your class assignments.
  4. Complete the Prep Unit including the Student Check-In discussion forum. You must make a post by Tuesday 11:59 PM to remain in the class.
  5. Follow the instructions on the Lessons page to complete the Week 1 assignments.
Table of Contents

Deadlines MUST Be Met!!!

No Extensions

All Assignments, Exams, and/or Quizzes  are active, you may complete them ahead of schedule, but you MUST HAVE each ASSIGNMENT SUBMITTED by 11:59 P.M. on its DUE DATE or before!!! THERE WILL BE NO EXTENSIONS!!!!!!!!!!!!!!!!

Note: Due Dates for any and all Assignments, Exams or Quizzes are listed in the Syllabus for this class.

Table of Contents

Introduction to Building ASP.NET Web Applications

Up until this course, your focus in the web development program has been the Client side. Recall that the client-side is essentially the Web browser software running on a user’s computer. The Web browser processes HTML, CSS, and JavaScript to create an image that is displayed in a Web browser window. The Web browser also communicates to a Web server using HTTP (hypertext transfer protocol) by sending http requests and receiving http responses which usually contains an HTML file, or a CSS file, or a JavaScript file, or an image or some other media type. The Web browser assembles all those responses into client computer's memory by building a hierarchical structure of HTML elements and attributes and then draws the image that the user sees in their Web browser.

In this course you will be learning about the server side of web development. On the server side there are literally hundreds of different ways to implement code. It depends on the technology choices of the stakeholders in the business you create or work for as to which specific programming architectures and frameworks will be used. There are two main components that operate as the backbone of the modern Web infrastructure, the Web server (aka HTTP server) and a Database server. Each has its own specific job in the Web infrastructure. The Web server processes http requests that come in from Web browsers all over the world and responds with a success response and the requested files or a failure response with a code indicating why the HTTP server could not complete the request; e.g. http 404 file not found. The Web server can also dynamically create Web pages it returns based on many variables. The database server stores the dynamic data that can be retrieved, updated, or deleted by the Web server.

The Focus of This Course

This course focuses on an architecture known as web forms which is commonly used in Web hosting environments running on Microsoft Web servers. The official product name of Microsoft's Web server software is Internet Information Server or IIS for short. IIS is the HTTP server software. It is just another program running on the computer. True, in hosting environments it is usually the only publicly accessible service running on that server or cluster of servers. In the previous Web Dev courses, you experienced the http server responses statically. Meaning when you opened a Web browser on your computing device you typed in an address which included the filename of the html document you wanted to view and sent it to a Web browser. The Web server located the file and returned it to your Web browser. Simply put you requested a file and received it back from the Web server without any alteration to the file.

The scenario I just described is not a very efficient way of storing and distributing data in a modern business environment in that it requires at least one person to create each file that is needed. In the modern day business world things change constantly and the information infrastructure needs to be agile enough to keep up with all the changes that occur and to deal with all of the new data it is accumulating. The Web Forms architecture was created as one solution for dealing with the problems at hand. Instead of creating static pages of data, the data was separated from the files that had previously contained them and was instead stored in an organized way on a databases server so that it could be quickly retrieved or updated as needed. The pages that previously contained the data were essentially HTML files and those pages became what we now call Web forms which contain no raw data but do contain all of the structure and semantics of the HTML pages that previously contained the data. Web forms are essentially templates that can be populated with data from a database server or XML or JSON files.

What You Will Be Learning

In this course you will be learning how to build Web forms, how to connect them to a database server, and how to serve them programmatically from the Web server to the requesting client. You will also be learning about the new technologies that come with the Web forms architecture, like Master pages, server controls, custom user controls, object Relational models (ORM), and the structured query language (SQL) for accessing a database server; just to name a few.

About the Textbook

The first thing you will notice about the textbook used in this class is that it has many outdated references. This is essentially because things are changing so fast in the Web Dev arena that keeping content updated in a timely manner is very difficult. That's why you will be using my tutorials here on the CIS Web server in conjunction with the textbook used for this class. The technologies and techniques remain the same it's just the versions and the branding of product names that keeps changing rapidly.

Ignore any references to the names of the various Microsoft source code editors and their versions. The only thing you need to know about is the current editor we are using in this class, which is Visual Studio Community and the framework we will be using is ASP.NET Framework

Note: See the course Syllabus for textbook details.

Table of Contents

How This Course Works

Reading and Coding Practice

Each week read all of the assigned reading in your textbook and complete all of the Try-It-Outs. Each chapter of your textbook has sections the author titles Try It Out. These sections give you the step-by-step instructions that we will be following to complete the weekly assignments. You'll want to start early in the week to complete your reading so that you can have plenty of time to complete the weekly hands on coding assignments.

Assignments

In the early part of this course you will be posting in Canvas one or more URLs which point to the assignment(s) you completed. After Chapter 3 you will be continually updating one Website and so you will only have 1 URL to post in Canvas for the week.

I recommend you read the Assignment I have published for each lesson you are working on before reading the associated chapter in your textbook. If you read the assignment details first you will be more apt to retain the important parts of what you read in the textbook for accomplishing the assignment.

If you run into problems or have questions, start by posting to the Help! discussion thread. I am subscribed to this thread and will be notified of your post. This is better than sending me an email because all students can contribute to the problem solving process and all students get the benefit of seeing the problem resolution.

How to Submit Your Assignments

Just like in the real world of Web development, you will be using FTP (now FTPS) to upload completed assignment folders to the student Web server. There are instructions on how to go about doing this on the respective assignment pages which you can access by clicking the Assignments link in the Canvas course menu.

Data Files

In order to complete the weekly assignments you will need to download the Data Files to the computer you will be using to complete your assignments on and unzip them (instructions are provided on the Data Files page).

Practice, Practice, Practice

Learning ASP.NET is like anything else you do in life, the more you do it the better you get at it. With that in mind, I encourage you to challenge yourself to apply as much of what learn from your weekly reading to your completed assignments as you can. This will help you to create strong mental recall capabilities which are needed to become more proficient at your ASP.NET skills, and eventually when becoming a coding professional.

Table of Contents

How You Can Improve Your Score(s)

Once you have published your assignment and posted the URL it will be reviewed and evaluated based on the grading rubric specified for the particular assignment - usually within a couple of days. Your score for your assignment, ranging from 0 to 100 points, will be posted on Canvas and you will be notified by email if there were any problems with your assignment in which case you will have an opportunity to correct our errors and then resubmit the assignment URL in order to increase your score — as long as you submitted your assignment on-time to begin with.

If you didn't receive full credit for the assignment, read the comments I posted with on the Assignment page in Canvas to learn what your errors are - You will usually receive hints or a solution URL to help you correct them. After reading the comments, re-work your file(s) and try to correct your errors. Once you think you have corrected your errors, re-publish your file(s) using FTP(S) and post the URL again for re-scoring.

Depending on how well you did correcting your errors a new score will be posted for your assignment in Grades on Canvas (msjc.instructure.com) - usually within a couple of days. Your goal should be to achieve 100 points on each assignment. As long as you do the work you should be able to accomplish this goal.

There will be no time to have you fix your last Assignment should there be issues with it, which means you will want to pay extra special attention in when working on the Try It Outs that you will need to learn in order to successfully complete that assignment.

Table of Contents

About the Quizzes and the Final Exam

There are no quizzes or exams in this class. You are being assessed each week on the most important thing - how good you are at accomplishing the coding assignment.

Table of Contents

How Can I Earn Extra Credit?

The Web presentation for this course is jammed pack with information, most of it I have created and typed myself. Being human, I do make mistakes - just ask my wife! While you read through the online course materials, if you find a typo, a misspelled word, or a grammatical error, I would very much appreciate it if you would call it to my attention. All you have to do is tell me which page you found it on (email me the URL) and give me a general description of the error (where to find it on the page). For each one you submit I will award you 5 extra credit points and offer you my deepest gratitude.

There is a Help! forum in Discussions for students to ask questions and post problems they might have regarding an assignment. If you post an appropriate answer or the correct solution to a problem before I do then you will earn 5 extra credit points for each answer or correct solution you post - so keep an eye on the Help forum. In fact subscribing to that forum would be a good idea.

These are the only ways to earn extra credit in this class, please don't ask me if you can earn extra credit any other way. As long as you do the required work in this class, assignments, quizzes and exams, there should be little to no need for you to earn points by way of extra credit.

Table of Contents

The best and most successful Web developers thrive on learning as much as they can about the Internet and Web technologies. To help you get the most out of this course as possible, I have created a Resources link which will expose you to some of the best resources the Web has to offer regarding Web development. The more you learn about Web development the more successful you will become and the more likely it is that you will be able to compete with the Amazon's, Google's, and Microsoft's in the world. Explore as many of the hypertext links as you can and the Internet will be your oyster.

Table of Contents

What If You Have a Question or Run Into a Problem?

As always, if you have any questions about how to navigate this online course or if you run into a problem with an assignment, I am more than happy to answer your question and help you out in any way I can. I prefer that you post your questions in the Help! discussion forum, but if it is a personal matter, feel free to send me an email, BBennett@bbent.com (please be sure to adhere to my Email Policy or your emails to me may end up getting lost). If you don't hear back from me within 48 hours (Monday through Thursday), please send your email again as your first one my have been lost.

Table of Contents

MSJC's Internet Authoring Program

Image of two gears and two capitalized letters I & A.

The course you are enrolled in is part of Mt. San Jacinto College's Internet Authoring program. The goal of the program is to get students prepared for high-paying information technology jobs, specifically jobs which involve or require Web development skills of the highest caliber. By completing courses in the Internet Authoring program you can earn up to two certifications and one A.S. degree - an Employment Concentration certification (Apprentice), a State of California Certification (Journeyman), and an Associate of Science Degree in Internet Authoring. For more details about the Computer Information Systems (CIS) department's Internet Authoring program and its related courses, view the Internet Authoring Web site.

Table of Contents

My Final Thoughts . . .

Good luck,

I wish you the best for success in this class and I hope you have fun. There's lots of cool stuff to learn so get started right away!!!

Bill Bennett, Internet Authoring Program Coordinator
MSJC CIS MVC

Table of Contents