Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit


CMPT130: Introduction to Computing Science and Programming I


PREREQUISITES

BC Math 12 (or equivalent, or any of MATH 100, 151, or 157)


OBJECTIVES/COURSE OVERVIEW

This course is an introduction to computing science and computer programming. Students will learn fundamental concepts of computing science as well as develop basic skills in software development using the C++ programming language. Topics will include: information representation, elementary data types, control structures, functions, arrays and strings, fundamental algorithms, and memory management.


Topics:

Information representation in computers

Elementary programming: data types and basic input and output

Control structures: Boolean expressions, conditional statements, loops

Functions: function libraries, passing parameters, returning values, the call stack

Aggregate Data Types: arrays and strings

Dynamic memory: addresses and pointers, allocation/de-allocation of dynamic memory

Fundamental algorithms and introduction to complexity

Recursion


REQUIRED TEXT

Problem Solving with C++, 9th Edition, Walter Savitch, Addison-Wesley, 2012, 9780133591743


COURSE ASSESSMENT

Exercises:                    15%

Quizzes:                      20%

Midterm 1                    15%

Midterm 2:                   20%

Final Exam:                  30%

Total:                         100%

Students must attain an overall passing grade on the weighted average of exams in the course in order to obtain a clear pass (C- or better). Students who do not obtain a passing grade in the final exam may not obtain a pass (D or better).


Exercises (15%)

        There will be a number of Exercises throughout the semester. Some of these exercises are short and quiz-style; some are longer and assignment-style. They will be marked on Moodle as E1, E2, E3, … If there is an exercise during a particular week, the link will be available on Thursday and the due time will be specified on Moodle. Generally you will have a few days to complete each exercise. These exercises are good practices for quizzes and exams.


Quizzes (20%)

        There will be about 4 quizzes throughout the semester. The time of each quiz will be announced on Moodle about one week in advance.


Midterm 1 (15%), Midterm 2 (20%), and Final (30%)

        There will be two midterm exams and one final exam. The final exam will be accumulative. Midterm 1 is tentatively scheduled on October 9th; Midterm 2 is tentatively scheduled in Week 8; Final will be scheduled during FIC final exam period. These exams are all synchronous exams and you must join ZOOM to do the exams. You will be notified of the exact date and time of the exams later.

-- More information about Course Assessment will be provided during the Week 1 Information Session.


OFFICE HOURS

There are two ZOOM office hours every week: Friday 8 – 9am PT and Monday 8 – 9pm PT. Follow the Zoom link on Moodle to drop in. Attending office hours is not mandatory but you are strongly encouraged to attend both, especially the Monday one which is mostly a tutorial. During the Monday tutorial, I may go through the weekly practices, explain exercise/quiz questions … You can also bring your code and I can help with debugging. Please attend Week 1 Information Session for more information about office hours and how you can get individual help.


CLASS PARTICIPATION

Considering you are taking the course asynchronously, your active engagement with the instructor through office hour/tutorial, emails, and the course materials posted on Moodle is very important.


GRADE DISTRIBUTION

Grade distribution is not predetermined. It may vary from semester to semester.


COMMUNICATION

1. Moodle: all course materials will be posted on Moodle, in a weekly manner.

2. Email: for quick and affirmative questions, it is better to use email. And please use your FIC email account. (If Gmail is geo-blocked in your country, you may use your personal email account and make sure you change your FIC email setting such that a copy of incoming emails can be forwarded to your personal email account.) Note: when you send an email, you MUST include “class 6” in the subject line or in your email signature.

3. Zoom office hours: if you anticipate some lengthy discussions or you have a piece of code you want me to help with debugging, asking during office hours are your best bet.


MAKE-UP EXAMS

FIC does not offer any make-up opportunities for missed final exams. Please be sure to check your exam schedule very carefully. If you miss an exam for any reason, please see an advisor immediately. If you have documented reasons for exam accommodations, please see an advisor immediately.

Generally, make-up opportunities for missed midterms or quizzes/exercises are also not available. In case of extenuating circumstances, a student must notify the instructor in writing as soon as possible. The instructor reserves the right to decide whether a make-up opportunity will be provided and how it will be conducted.


ACADEMIC INTEGRITY POLICY

Academic Integrity refers the values on which good academic work must be founded: honesty, trust, fairness, respect and responsibility. Academic integrity includes a commitment not to engage in or tolerate acts of falsification, misrepresentation or deception. Such acts of dishonesty violate the fundamental ethical principles of the College community and compromise the worth of work completed by others.

Students found to have breached the regulations related to any form of academic misconduct including but not limited to plagiarism and cheating will be subject to the following measures:

● First Offence: Awarded “0” for the assessment and given a permanent record on their file

● Second Offence: Awarded “0” for the course, regardless whether the offence was committed in the same course or another course

Third Offence: Risk expulsion from FIC and the cancellation of Study Permit

It is solely the student’s responsibility to be aware of Academic Integrity Policy and consequences of violating it. The policy is available at: http://85401dc13f6ba5867f46-aacfababc729cd49a24606938417f53d.r33.cf6.rackcdn.com/FIC_Academic_Integrity_Policy.pdf

● DO NOT pass your exericse /quiz / exam answer/source code to another student, otherwise, both parties will be punished equally.

● DO NOT ask anyone else to do your exercise / quiz / exam for you.

● DO NOT take program code from internet and submit it as your answer.

● Academic integrity is taken very seriously. All the acts of violation will be reported and punished, and then the subsequent assessment will be done through interview.

The instructor reserves the right to schedule an interview to meet any individual student on ZOOM to discuss any assessment item and conduct a new assessment.


HOW CAN YOU DO WELL IN THIS COURSE?

First of all, you need to know that taking asynchronous classes requires you to take more responsibility and more control on your own studies. Consequently, you need to spend more time for the course.

Seondly, you need to understand that CMPT130 is not entirely a programming course. It is about problem solving with the help of computers. As such it entails three fundamental issues:

1. You need to understand a given problem,

2. You need to know how to solve the problem by hand using pen and paper, and

3. You need to know the C++ programming language in order to solve the problem using a computer.

All these parts requires continuous practice with solving different problems on paper and on computer in order to develop problem understanding skills, problem solving skills and C++ language skills.

In the first a few weeks, you will be mostly working on C++ basics, then you will find problem solving becomes more and more important.

Some suggestions:

● Solve all the coding questions in weekly practices as if they were exam questions. Solve them in a timely manner BEFORE checking out my solutions. You must BE ABLE TO MAKE YOUR CODE WORK ON COMPUTERS ON YOUR OWN – this is very important.

● Study BOTH lecture notes and videos. They are not independent materials. You should also follow the Required Reading of each week to read some sections from the textbook.

● Spend 10 to 15 (depending on individuals) hours each week studying for the course.

● Don’t memorize the code. Investigate the code on computers to understand it and the programming concepts behind it

● Comparing and analyzing similar problems will help you understand the problems and help you tackle new problems.

● Be a thinker, not a passive receiver.


ADDITIONAL INFORMATION

N/A


SCHEDULE

  Week
  Readings/pre-study
  Assignment Due
  1
  See Moodle for Required Reading
  Quiz/Exercise date will be announced on Moodle
  2

  3

  4

  5
  Midterm 1 on October 9th, covering topics of Week 1 - 4
  6

  7

  8
  Midterm 2 – covering topics of Week 5 – 7. But understanding Week 2 – 4 is essential.
  9

  10

  11

  12

  13


Final Exam Information

Final exam is accumulative. The date will be determined later.