Jul 22, 2024  
2022-2023 Course Catalog 
2022-2023 Course Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

CSCI 2005 - Internet Programming: Client-Side Scripting and Applications

Credits: 4
Hours/Week: Lecture 4 Lab None
Course Description: This course focuses on how to design and implement information services over the Internet from the client side. The course focuses on both usability and client-side scripting. Current technologies such as HTML5, Cascading Style Sheets (CSS3), the DOM, XML and JavaScript will be used to develop Internet client applications. Principles of interface design and human factors will be used to improve usability. Ethical issues and information security principles related to web design will be presented. This course requires working knowledge of a contemporary programming language such as Java, C++ or Visual Basic.
MnTC Goals

Prerequisite(s): CSCI 1058  or CSCI 1060  or CSCI 1071  or CSCI 1081  or CSCI 1082  or instructor consent.
Corequisite(s): None
Recommendation: None

Major Content
  1. Brief review of the client-server model used on the Internet
  2. User interface design:
    1. Human factors analysis
    2. Principles of good user interface
  3. Security practices and policies
  4. Ethical issues including data privacy concerns
    1. HTML5
    2. What HTML5 is used for
    3. Differences between HTML4 and HTML5 
    4. Differences between HTML5 and XHTML
    5. Basic HTML5 markup for specifying headers, paragraphs, tables, lists, images, hyperlinks, forms
  5. Cascading Style Sheets (CSS)
    1. What CSS is used for
    2. The three ways of specifying style sheets-inline, embedded, and external-and how their information cascades
    3. Using CSS3 to format text, set background images and colors, position page elements, and make other changes.
    4. The “box model” and how it affects the flow of text
    5. Differences between CSS2 and CSS3
  6. JavaScript
    1. Overview of the language’s syntax
    2. Variables and how to perform arithmetic
    3. Flow control statements
      1. If-then-else
      2. Looping
      3. Switch
    4. Writing and using functions
    5. Using arrays
    6. Using JavaScript’s built-in objects
    7. Manipulating cookies
    8. Responding to events
  7. The Document Object Model (DOM)
    1.  What it is and how it can be used to access and modify any part of a web page
    2. Using JavaScript to manipulate the DOM
      1. Dynamic content
      2. Dynamic styles
  8. XML
    1. What XML is used for
    2. The difference between well-formed and valid XML documents
    3. Namespaces
    4. Writing and using a Document Type Definition to validate an XML document
    5. Writing and using an XML Schema to validate an XML document
    6. Having a web page access data stored in an XML file
  9. Developer-specific tools available in current browsers.

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

  1. analyze ethical issues involved in web application development, including data privacy concerns.
  2. create DTD (Document Type Definition) and XML Schema files that can be used to validate an XML file.
  3. create a web page that retrieves and displays data from a valid XML file .
  4. create dynamic and interactive web pages that include JavaScript programs.
  5. create usable web pages using human factors and principles of interface design.
  6. create web pages using HTML5 to identify the page’s structure and CSS3 (Cascading Style Sheets) to specify the content’s presentation.
  7. create well-formed XML documents.
  8. incorporate security practices and policies into the web design.
  9. verify user-entered data before they are forwarded to the web server that include JavaScript programs.
  10. write JavaScript programs that can access the web page’s DOM (Document Object Model) to dynamically modify the page’s structure (HTML) and appearance (CSS).
  11. write JavaScript programs that respond to user-initiated events such as mouse clicks and form submissions.

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

Courses and Registration

Add to Portfolio (opens a new window)