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
- Completion of Chess Game
- Nbdev Link
- Bird Detection System Link Notebook
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:
- Verbatim copying without proper documentation of the source(s).
- Paraphrasing without proper documentation of the source(s).
- Unacknowledged appropriation of information or ideas from someone else.
- 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:
- 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.
- Unauthorized acquiring, reading or learning of test questions prior to the testing date and time.
- Changing any portion of a returned graded test or report and resubmitting it as an original work to be regraded.
- Presenting the work of another as one’s own for a grade or points.
- 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:
- Issue an oral or written notification and warn the student that further acts of this sort will result in additional disciplinary action.
- Issue an “NP” or a failing grade (“F”) or “0” for the assignment in question.
- Refer the student to the Vice President for Student Services for disciplinary action.