CMPT130 – Introduction to Computing Science and Programming I


Semester: 202002
Instructor:
Email:
Koopa Hakimi
[email protected]
Delivery Method: Synchronous
Office Hours: We have two hours of lab session every week

PREREQUISITES

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

OBJECTIVES

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: Binary number system
Elementary programming: Data types and basic input and output
Control structures: Boolean expressions, conditional statements, loops
Functions: Function libraries, passing parameters, returning values
Aggregate Data Types: Arrays and strings
Dynamic memory: Addresses and pointers, allocation/de-allocation of dynamic memory, and the heap memory
Fundamental algorithms and introduction to complexity of algorithms
Recursion and stack memory

REQUIRED TEXT

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

Reference book: Absolute C++, 5th Edition, Walter Savitch, Addison Wesley, 2012

COURSE SOFTWARE

The course will use Microsoft Visual C++ 2010 Express Edition IDE that is already installed on the FIC lab computers. Of course, you may use a different compiler on your own computers or laptops; however any course assessment work will be tested and marked using Microsoft Visual C++ 2010 Express Edition compiler and therefore it is your responsibility to always test your work on Microsoft Visual C++ 2010 Express Edition compiler before submission.

Since this term will be based on online teaching, FIC has organized for you to have remote desktop access to the FIC computers. This means you can remotely log into the FIC computers and do your work on these computers. More details on how to access the FIC computers remotely

will be provided during the first week of the semester.

COURSE ASSESSMENT

Quizzes:
Assignments:
Midterm:
Final Exam (or project):
50%
20%
15%
15%
_________________________
Total: 100%

FINAL EXAM

There will be an online final exam (or project) at the end of the semester (exact date: TBA). This final exam will test the course materials discussed throughout the semester. This exam will be prepared either as a big programming project or a similar format as the midterm exam.

MIDTERM EXAM

There will be an online midterm exam on Week 8 during the lab session. This midterm exam will test the course materials discussed from topic 1 to topic 7. This exam may contain several questions with multiple choice type questions, short answer questions, code analysis questions, programming questions or any other problem-solving related questions.

QUIZZES

In this course, you are scheduled to write an exam every week, starting from week 2 except on week 8 (marked in the schedule, see the calendar on Moodle), the rest are quizzes, which cover 1 or sometimes 2 weeks of material. This is to strongly encourage you to study each week’s work that same week. This makes a total of 10 quizzes, each worth 5% of your grade. There will not be any opportunities to make up for missed quizzes. Quizzes will be a maximum of 30 minutes long at the beginning of the lab sessions. Details of the set-up of the quiz will be announced before the first quiz.

You can access the schedule and the coverage of each quizzes on Moodle under CMPT130 calendar.

ASSIGNMENT

There will be three assignments during the semester. Each assignment problem statement will be uploaded on Moodle with a clearly stated due date for submission.

Assignments are individual work. Each student must write his/her own code and submit. You are required to submit your assignment by uploading it on Moodle. Moodle will not allow you to upload an assignment after the due date and time. Therefore, submitting before the due date and time is strongly recommended.

Late submission of assignments is not accepted.

LABS

Weekly labs will be given

CLASS PARTICIPATION

There is no class participation mark for the course. However, we will have quizzes during our lab sessions. These quizzes are scheduled at the beginning of our lab sessions. You MUST attend classes from week one forward.

Note: Changing class time is not allowed.

GRADE DISTRIBUTION

Grade distribution is not pre-determined and may vary from semester to semester.

COMMUNICATION

If you would like to communicate with me, then it must be through your fic email address sent to my fic email address. In your email subject, write the course title (CMPT 130) and your section number. Generally, I do not respond to an email sent from a non-fic email address.

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.

There are no make-up opportunities for missed midterm or quizzes.

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: 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 c

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

SCHEDULE: You can access the detailed calendar on Moodle. Note: The schedule is a tentative outline and coverage may slightly vary each week

Final Exam Information

Please note that the final exam schedule will not be released until later in the semester. Fic will arrange specific exam date. More info will be given closer to the date.

How Can I do good in this course?

First and foremost, you need to understand that CMPT 130 is not a programming course. Instead, 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 on paper using pen and pencil, and

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

The first part requires continuous practice with different problems in order to develop problem understanding skills. As such I will provide several practice questions every week and you must solve the problems, I provide in order to achieve this. You must also read the reference book and solve the practice problems in the book to help you further.

The second part requires you to have a notebook, pen and pencil ready all the time in order to think and solve problems on paper. It also requires continuous practice  in order to develop your problem-solving skills infinitesimally, starting with verysimple problems and going up to solving very complicated problems by the end of the semester. The practice problems I provide every week start with simple ones and go to more difficult ones. As such you need to solve all the problems in order to climb the ladder of problem-solving skills smoothly.

Finally, the third part requires spending quite a lot of time on a computer. The lab work computers are available for you whenever the rooms are free. However, in order to do much more practice at home, I strongly recommend you have a laptop and install Microsoft Visual C++ 2010 Express Edition (google it and you will find it) and use your laptop as your main practice machine.

发表评论

电子邮件地址不会被公开。 必填项已用*标注