H-Farm Myp2 : Computer Science

Syllabus

Course Information

Instructor Information

  • Instructor: Hafiz Ahmad Hassan
  • E-mail: hafiz.hassan@h-is.com
  • Lecture / Lab:

Textbook & Course Materials

Course Description

This course is about Introduction to javascript and Nodejs. You will learn basic programming skills with topics covered include basic syntax, programming, while loops, operations, functions, and webpages development using JS framework. To add interactivity to your Web pages, and become Web developer.JavaScript lets you add interactive features to your Web sites, including dynamically updated content, controlled multimedia, animated images, and much more.

Term II

WEEK 1 : Introduction & Tic Tac Toe

  1. Intro to Course
  2. Live Coding Tic-Tac-Toe Game
  3. Quiz

WEEK 2 : Tic Tac Toe II

  1. Live Coding Tic-Tac-Toe Game
  2. Implementation Discussion
  3. Quiz

WEEK 3 : Tic Tac Toe III (Completion)

  1. Live Coding Tic-Tac-Toe Game Completion
  2. Implementation Discussion
  3. Quiz

WEEK 4 : Analysing Tic Tac Toe

  1. Students Writing Comments on Tic Tac Toe Game
  2. Discussion About Structure of Game & Implementation Discussion
  3. Creation of Presentation
  4. Quizz

WEEK 5 :Presentation Tic Tac Toe | Snake and Ladder Game I

  1. Discussion about snake and Ladder Game Logic
  2. Creation of First Structure of the Game
  3. Quizz

WEEK 6 : Snake and Ladder Game II

  1. Live Coding Building up Structure of Game
  2. Quizz

Lab:

standard CSS approach and the frameworks approach

Make a responsive page using bootstrap knowledge so far

  1. Templates
  2. Accessing and using them
  3. changing / altering/ customizing
  4. Select a template and alter it, hands-on practice
  5. Debugging
  6. Why needed
  7. How to debug
  8. Available tools for debugging

WEEK 7

  1. Javascript Validation
  2. jQuery validator
  3. Adding jQuery validator plugin (big topic)
  4. Code to add validator
  5. Advanced form validation
  6. Starting files
  7. Starting script

WEEK 8

  1. Checking phone number

  2. Adding messages

  3. Styling form( Two videos, each in different section)

  4. What are prototypes

  5. inheritance

  6. Introduction

  7. hadOwnProperty()

  8. Arrow Functions

  9. Introduction

  10. Parameters

  11. How to construct: constructor expressions

WEEK 9

  1. Project: Seat Reservation System
  2. Overview and starting files
  3. Creating seats: IDs
  4. Sections
  5. Left
  6. Right
  7. middle
  8. What variables to use
  9. Switch statements
  10. Loops and Html
  11. Using arrow function

WEEK 10

  1. Object: reservedSeats
  2. Affecting DOM
  3. IIFE closure
  4. Adding Array and event handler
  5. getting seat ID and Index
  6. Control flow use: adding If statement
  7. Finish function

WEEK 11

  1. Adding form
  2. Start files
  3. Open and close event handler
  4. Fixing bugs
  5. Adjusting control flow
  6. Setting final steps: CSS styles files
  7. Using objects
  8. Adding records and cleaning
  9. Final debugging process

WEEK 12

  1. Synchronous programming VS asynchronous programming
  2. discuss/introduce JavaScript Async prog
  3. Async I/O with callback programming
  4. Issues with callbacks
  5. Understand and use async/await keywords( keywords in different couse)
  6. Promise and Promise chaining

WEEK 13

  1. Using promise with Fetch API

  2. getData()

  3. response.text

  4. OutputHTML Function

  5. Basic jQuery Version

  6. Loading and validating form

  7. Sending and getting data

  8. sendData()

  9. async/await version

  10. Error messages

  11. displayMessage()

WEEK 14

server-side Javascript

  1. Back end development
  2. Intro
  3. How is it done?
  4. Discuss web servers
  5. Server-side javascript
  6. Node.js
  7. Intro: discussion of asynchronous later
  8. characteristics
  9. Modules (usual and advanced)
  10. Explore the node.js environment
  11. Components
  12. Working
  13. Comparison to other platforms
  14. Node ecosystem
  15. Benefits of node.js

WEEK 15

  1. Functions
  2. Modularize code
  3. Make functions
  4. Call functions
  5. Array functions 1. Create and access 2. Array operations 3. Filter data 4. Transform data 5. Aggregate data 6. Map 7. reduce

WEEK 16

  1. Use modules
  2. Import and require

LAB: work with a module (you can decide which module you want to introduce to the students)

  1. Node package manager
  2. Building modules
  3. Make a module - handson practice
  4. Errors and error handling
  5. Debugging and inbuilt node debugger
  6. Diagnosing eros in node application

WEEK 17

  1. Create a web server
  2. Read,write files and watchFile module
  3. Stream and Buffer
  4. EventEmitter

WEEK 18

  1. Testing
  1. Implementation of Mocha and Chai
  1. Authentication in Node js
  2. Introduction to web Frameworks

Grading Policy

Graded Course Activities

Visit the Assignments link in Managbac (Tasks) for details about each assignment listed.Also you can find access quizzes and exams.

Late Work Policy

Example: Be sure to pay close attention to deadlines—there will be no make up assignments or quizzes, or late work accepted without a serious and compelling reason and instructor approval.

Letter Grade Assignment

According to IB Grading Rule

Course Policies

Participation

Students are expected to participate in all online activities as listed on the course calendar. Enter specifics regarding attendance policy here.

If you monitor, track, and/or score student participation, explain how you will keep track and how often students should be accessing the course. If appropriate, mention that you will be using Managbac tracking tool, discussions, chat sessions, and group work, to monitor their participation in the course.

Build Rapport

If you find that you have any trouble keeping up with assignments or other aspects of the course, make sure you let your instructor know as early as possible. As you will find, building rapport and effective relationships are key to becoming an effective professional. Make sure that you are proactive in informing your instructor when difficulties arise during the semester so that we can help you find a solution.

Complete Assignments

All assignments for this course will be submitted electronically through Canvas unless otherwise instructed. Assignments must be submitted by the given deadline or special permission must be requested from instructor before the due date. Extensions will not be given beyond the next assignment except under extreme circumstances.

All discussion assignments must be completed by the assignment due date and time. Late or missing discussion assignments will lower your grade.

Understand When You May Drop This Course

It is the student’s responsibility to understand when they need to consider disenrolling from a course. Refer to the MPC Course Schedule for dates and deadlines for registration. After this period, a serious and compelling reason is required to drop from the course. Serious and compelling reasons includes: (1) documented and significant change in work hours, leaving student unable to attend class, or (2) documented and severe physical/mental illness/injury to the student or student’s family.

Incomplete Policy

Under emergency/special circumstances, students may petition for an incomplete grade. An incomplete will only be assigned if [insert condition here]. All incomplete course assignments must be completed within [insert timeframe here].

Inform Your Instructor of Any Accommodations Needed

If you have a disability and would like to request accommodations, please contact the instructor during the first week of the semester so that your accommodations may be provided in a timely manner.ARC (Access Resource Center) provides assistance in determining and facilitating appropriate accommodations for students with verified disabilities. The ARC office is located on the first floor of the Student Services building (STS 115).

Plagiarism

It is important for students to acknowledge sources that are used for completing classroom assignments. Plagiarism is a form of academic dishonesty.

Plagiarism may be any one of the following:

  1. Verbatim copying without proper documentation of the source(s).
  2. Paraphrasing without proper documentation of the source(s).
  3. Unacknowledged appropriation of information or ideas from someone else.
  4. Copying Someones code

If students have any questions about these forms of plagiarism or about an assignment they are preparing, they should ask their instructor for clarification rather than risk unintentional plagiarism.

Cheating

It is important for students to act in an honest and trustworthy manner. Work performed on examinations or other forms of evaluation must represent an individual’s own work, knowledge and experience of the subject matter. Students are expected to follow the classroom rules established by the instructor.

Cheating may be any one of the following:

  1. Unauthorized looking at or procuring information from any unauthorized sources or from another student’s work during an examination or from any work that will be graded or given points.
  2. Unauthorized acquiring, reading or learning of test questions prior to the testing date and time.
  3. Changing any portion of a returned graded test or report and resubmitting it as an original work to be regraded.
  4. Presenting the work of another as one’s own for a grade or points.
  5. Knowingly assisting another student in cheating.

This list is not all-inclusive and the list itself is not meant to limit the definition of cheating to just these items mentioned.

Consequences of Academic Dishonesty

The disciplinary action for cheating or plagiarism is up to the discretion of the instructor. The instructor may select one or more of the following options:

  1. Issue an oral or written notification and warn the student that further acts of this sort will result in additional disciplinary action.
  2. Issue an “NP” or a failing grade (“F”) or “0” for the assignment in question.
  3. Refer the student to the Vice President for Student Services for disciplinary action.