H-Farm Myp5 : Computer Science (2022-23)

Syllabus

Course Information

Instructor Information

  • Instructor: Hafiz Ahmad Hassan
  • E-mail: hafiz.hassan@h-is.com
  • Lecture / Lab: Two hour and 15 minutes, once in a week Section1: 8:45am to 10:15am Monday Section2: 10:15 am to 11:00pm Tuesday

Textbook & Course Materials

  • Required Text(s):
    • How to program in C++ by Deitel Deitel and

Course Description & Objectives

This is a fast-paced introductory course to the C++ programming language. It is intended for those with little programming background, though prior programming experience will make it easier, and those with previous experience will still learn C++ - specific constructs and concepts.

By the end of this course, you should be able to:

  • Understand and use the basic programming constructs of C/C++
  • Manipulate various C/C++ datatypes, such as arrays, strings, and pointers
  • Isolate and fix common errors in C++ programs
  • Use memory appropriately, including proper allocation/deallocation procedures
  • Write small-scale C++ programs using the above skills

Outline/Schedule

Important Note: Refer to the course calendar for specific meeting dates and times. Activity and assignment details will be explained in detail within each week’s corresponding learning module. If you have any questions, please contact your instructor.

Week 01: Introduction to DataTypes & Variables

  • Course overview
  • About programming
  • Variables and data types
  • Keyboard input and screen output

Formative Lab 1 – Tool setup, Instruction list

Week 02: Operators

  • Operator overview
  • Operator precedence
  • C++ operators vs. algebra operators

Formative Lab 2

Week 03: Control Flow

  • Expressions
  • Branching code

Formative Lab 3

Week 04: Conditions and Loops

  • Boolean expressions
  • Multipath branches
  • Loops

Formative Lab 4

Week 05: Arrays

  • Syntax
  • Use Cases
  • Size of Array

Formative Lab 5

Week 06: Live Coding and Functions

  • Arrays
  • Functions

Formative Lab 6

Week 07: Arrays : 1 Dimentional & 2 Dimensional

  • Arrays Filling (With or Without Loops)
  • Types of Arrays
  • ASCII

Formative Lab 7

Week 08: Project & Labs Evaluations

  • Dicussion about Project and Basic Implementation

Week 09: Debugging

  • How to Debug a code with Visual Studio Formative Link

Week 10: Sodoku and Chess Game

  • Discussion about Chess Game
  • Basic Interface

Week 11: Snake and Ladder Game: Live Coding

  • Discussion about Game Logic
  • Basic Interface

Week 12: Snake and Ladder Game: Live Coding II

  • Discussion about Game Logic in details

Week 13: Chess Game Implementation

  • Discussion about Game Logic in details

Week 14: Final Evaluation

  • Oral Session
  • Written Exam

Term II

Week 1: Chess Game & Intro to Artificial Intelligence

  • Chess
  • Flow Chart of Chess Game
  • Introduction to AI
  • Kaggle & Colab

Week 2: Notebook Development | Chess | AI : Detection System

Notes: The task has been added to the Managbac

Week 3: Notebook Development | AI : Classification System I

  • Discussion about Classification Systems
  • Students will provided a code to modify
  • Discussion on Logic of Code

Week 4: Coding and AI : Image Classification System II

  • Discussion about Classification Systems
  • Coding Problems
  • Modifications in Code

Week 5: Coding and AI : Tabular Classification System

  • Tabular Datasets
  • Dataset Analysis
  • Discuss about Developing application

Note: The task has been added to the Managbac

Week 6: Deep Dive to Deep Learning | Intro to Object Oriented Programming I

  • How Deep Learning Model Works
  • CNN Model
  • Coding Problems
  • Struct in C++

Week 7: Deployment | Intro to Object Oriented Programming II

  • Comparison With Different Models and Different Ai Problems
  • How You can do Model Deployment
  • HuggingFace Space
  • Coding Problems
  • Struct vs Classes in C++

Note: The task has been added to the Managbac

Week 8: Deployment II and Presentation | Intro to Object Oriented Programming II

  • Comparison With Different Models and Different Ai Problems
  • How You can do Model Deployment
  • HuggingFace Space
  • Coding Problems
  • Struct vs Classes in C++

Note: The task has been added to the Managbac

Week 9: Web Deployment of Models and Sorting Algorithms

  • Introduction to different Sorting Algorithms
  • Selection Sort
  • Evaluation of Presentation and Deployment
  • Coding Problems

Note: The task has been added to the Managbac

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.