Course Catalogue

Module Code and Title:       CPR304          Internet Applications & Development

Programme:                          BCA

Credit Value:                         12

Module Tutor:                       Vijay Gurung

General Objective: Perhaps even more so than desktop (standalone) software, internet applications are being increasingly used to serve the core computing needs of users and organizations. This module will provide students with the conceptual and practical knowledge as well as skills required to develop web applications and web services. The module will also enable students to the design, develop, implement and integrate information systems in web-based applications.

Learning Outcomes – On completion of the module, learners will be able to:

  1. Perform analysis modelling and design modelling for web applications.
  2. Identify candidate tools and technologies for developing web applications.
  3. Develop user-interfaces for web applications.
  4. Describe and transform data using XML and its related technologies.
  5. Explain web applications and web services.
  6. Apply an MVC architectural pattern to develop a web-enabled application.
  7. Develop a web-based application using the concept of SOAP and REST with an API orientation.
  8. Discuss how the use of a 3-Tier architecture confers benefits for scalability, performance and availability of a web-based application.

Learning and Teaching Approach:

Approach

Hours per week

Total credit hours

Lecture & discussions

3

45

Lab Practical

3

45

Independent study

2

30

Total

120

 

Assessment Approach:

A. Individual Assignment: Portion of Final Mark: 15%

Students should submit two assignments of 1000-1500 words related to RIA and server-side scripting languages to achieve this 15%. The first one will be before the midterm and it constitutes 50% of the total 15% allocated. Students will be writing about one of the topics from Rich Internet Applications. The next assignment, for the other 50%, will be done after the midterm on one of the topics from server-side scripting.

Activity: The students should submit assignments of 500-1000 words. Assignments will be evaluated on:

30% - Explanation of the purpose / objectives (either RIA or server-side scripting)

50% - Explanation on its applications

20% - Quality of the writing (language, referencing, etc.)

B. Project/Case Study: Portion of Final Mark: 10%

Students are given a problems related to the project planning and project scheduling to obtain 10% of the assessment. Each student will complete a case study of 500 words in the class and they will solve that case inside the classroom. Students will analyse the case, come up with a proper solutions and give their own views and opinions. 40% will be awarded for solving the problem, 40% for analysing the problem and 20% for the overall report.

C. Presentation on Project/Case Study: Portion of Final Mark: 10%

The presentation is based on the project or case study that the students carry out. The presentation will be approximately 10-12 minutes, and include power points slides. 30% will be awarded for content of the presentation, 15% for preparedness, 10% for timing, 15% for group coordination, 15% for handling of Q&A session and 15% for presentation skill.

D. Class Test: Portion of Final Work: 5%

This is a written test conducted within the class for duration of 30-40 minutes and cover 2-3 weeks of material. There will two such tests, one before midterm comprising of topics from the beginning to the quarter point of the subject matter and the other after the midterm comprising of topics from after the midterm to quarter pointer after midterm.

E. Lab Practical Exam: Portion of Final Mark: 10%

This component assesses the student’s practical knowledge. They will be assessed on their program designing skills, maintaining syntax, use of functions, testing and debugging a code. 2-3 programs will be assigned to individual student. They have to solve it within predefined examination duration. 35% will be awarded sub tasks completed, 35% Techniques used for each sub task, 10% for timing and 30% for output.

F. Midterm Examination: Portion of Final Mark: 20%

This a college wide examination conducted at the half-way into the semester. This examination is conducted for 1 hour and 30 Minutes and it includes all topics till the half-way point in the subject matter.

 

CA Assessment

Quantity

Weight

A.    Individual Assignment

2

15%

B.    Project/Case Study

1

10%

C.   Presentation on Project/Case Study

1

10%

D.   Class Test

1

5%

E.    Lab Practical Exam

1

10%

F.    Midterm Exam

1

20%

Total Continuous Assessment (CA)

 

70%

Semester-End Examination (SE)

 

30%

 

Prerequisites: CAP203, CPR101, CAP102, CAP203, CAP204, CSC205

Subject Matter:

  1. Overview of the Internet and the Web
    • URLs and IP addresses as unique Internet IDs
    • Data and file transmission across the Internet
    • Transmission protocols
    • Internet connections
    • Domain Name System (DNS)
    • Client/server model: URL, protocols, file, http, ftp, telnet
    • Secure connection (HTTPS)
  2. Introduction 3-Tier Architecture
    • Benefits of 3-Tier Architecture
    • Limitations of 3-Tier Architecture
  3. Basics of HTML
    • Views of Web pages: URL, browser display, and document Web sites and Web pages
    • HTML Editors
    • HTML Versions: HTML - HTML5
    • HTML tags and elements
    • Text formatting: titles, headings, breaks, paragraphs, emphasis
    • Attributes
    • Colours
    • HTML Style, Properties (font-family, colour, and font-size)
    • Ordered list
    • Unordered list
    • Nested list
  4. HTML Images and Links
    • Pixels and resolution
    • Image format and software
    • Image operations and use Links
  5. HTML Tables
    • Structure and variables
    • Layout design
    • Rows and columns
    • Headings and cells
    • Rendering
    • Nesting
    • Tabulating data
    • Formatting via tables
  6. Web page layout and navigation
    • HTML Layouts
    • HTML Layout Tags: <div> and <span>
    • HTML Iframes
    • Navigation
  7. HTML Forms
    • Data collection over the Web
    • Name/value pairs
    • Forms
    • Input elements: text fields, checkboxes, radio buttons, drop-down list, submit and reset buttons
    • Formatting forms with tables
  8. Cascading Style Sheets
    • Separation of Webpage content and formatting
    • CSS syntax
    • Linking CSS and HTML
    • Inheritance and Cascading order
    • Box model
    • Font properties
    • Text properties
    • Content positioning
  9. JavaScript
    • HTML scripts, JavaScript syntax, Statements, Comments,
    • Variables, Operators
    • ..Else, Popup Boxes, For Loop, While Loops.
    • Events, Functions, Objects
    • JSON with Ajax: Syntax Object, Datatypes and schema.
  10. Functions
    • Introduction
    • Program modules in JavaScript
    • Programmer-Defined Functions
    • Function Definitions
    • Random Number Generation
  11. Introduction on APIs and MVC Framework.
    • Introduction to an API
    • Web API
    • APIs in business
    • APIs in the browser
    • The MVC Programming Model
    • MVC Architecture
    • Model
    • View
    • Controller
    • Comparing MVC with Web Forms
    • Creating an MVC Application
    • View Engines
    • Test Project
    • Web Forms vs MVC
  12. Web Framework
    • Introduction to the Framework
    • Exploring the VISUAL STUDIO IDE
    • Common Language Library
    • Base Class Library
    • Common language Runtime
    • Common language Specification
    • Intermediate language
    • Overview of Assemblies
    • Namespaces
    • Various features of IDE
    • Different types of applications
  13. Web application development using a Framework
    • Beginning with server side programming language
    • Arrays, Operators and Flow Control Statements
    • Working with Functions, Constructors & Destructors
    • Operator Overloading, Properties, Indexers
    • Inheritance
    • Abstract Classes and Interfaces
    • Errors and Exceptions
  14. Introduction to REST and .net Web API
    • Using the REST Services
    • Making use of sessions
    • Making the request
    • HTTP GET Requests
    • HTTP POST Requests
  15. Transaction with Database
    • Introduction
    • Different types of connectivity
    • Data transaction
    • Complete System Development
    • Object-relational mapping
    • Comparison with traditional data access techniques
  16. XML
    • Introduction and Overview of XML: Extending and Adopting Markup Languages; From SGML to XML and XHTML; Benefits and Drawbacks of XML; Introducing the eXtensible Markup Language (XML)
    • XML Fundamentals: Creating an XML Document; Defining Structure; Rules for Well-Formed and Valid XML; Changing XML Documents
    • XML Syntax: Tag Attributes and Naming Rules; Empty and Non-Empty Elements; Processing Instructions for XML; Accessing Data from XML Elements
    • XML Namespaces: Why XML Namespaces?; Prefixes and Declarations; Default and Multiple Namespaces
    • XML Document Type Definition (DTD): XML DTD as an XML Schema; Creating a DTD; Element Conditions and Quantifiers; Referencing DTD Declarations; Validating DTD Compliance
    • XML Schema Definition (XSD): Element and Attribute Declarations; Simple, Complex, and Built-in Types; Named and Anonymous Types; Associating XML with a Schema; Validating XSD Compliance
  17. Introduction to Mobile applications development
    • An Overview of Mobile Devices and Developing Mobile Applications
    • Types of Mobile Devices
    • Mobile Applications
    • Native App Development Environments
    • xCode IDE & iPhone Emulator
    • Eclipse and Android Emulator
  18. Practical Components
    • Design basic HTML pages
    • Design HTML pages using intermediate HTML tags
    • Design the layout of web pages using inline, internal and external CSS
    • Design a web calculator using HTML and CSS
    • Introduce programming concept using Java script
    • Install and configure IIS (Internet Information services) web server
    • Install Microsoft visual studio 2010
    • Design a simple web based application
    • Using Jquery.
    • Software to be use: AJAX Tool Kits (jQuery/Mootools), NetBeans and Eclipse

Reading List:

  1. Essential Reading:
    • Eric Bell, Hao Howard Feng.(2002)Fundamentals of Web Applications Using .Net and XML
    • Jamie Munro. (2006) ASP.NET MVC 5 with Bootstrap and Knockout.js: Building Dynamic, Responsive Web Applications
    • Sean Truman. (2014) ASP.NET: Learn ASP.NET FAST - The Ultimate Crash Course to Learning the Basics of the ASP.NET Web Programming
    • Dane Cameron. (2013). A Software Engineer Learns HTML5, JavaScript and jQuery
  2. Additional Reading:
    • Ambily K K. (2015). ASP.NET Web API 2: Beginner Guide
    • Rahul Sahay. (2015) Building Single Page App with ASP.NET MVC 5 and Angular: Rahul Sahay.
    • Kevin Howard Goldberg (2008). XML: Visual QuickStart Guide (2nd Edition)
    • Jon Duckett. (2014). Web Design with HTML, CSS, JavaScript and jQuery

Date: May 30, 2015