This page provides pointers that hopefully are helpful to you to succeed and earn the best grade you are capable of in this course. They are derived from my experience teaching the course in the past, and the experiences (good and bad) of students taking the classes. Items may be added or updated at any time. I recommend that you visit this page from time to time both to refresh yourself with the ones you have already read and to read any new or updated ones since the last time you visited the page. |
■ | Make sure you have mastery of certain (C/C++ programming) background concepts |
● | Check out Tips Tricks Traps and Observations to gage your familiarity with the contents highlighted with "wriggly boxes". |
► | If you feel lost or somewhat
lacking in understanding the highlighted contents, it pays to brush up (in-good-time) the concepts involved. |
■ | Make sure you intend to work hard to learn and have the time to do so |
● | Remember that others can only assist you in learning but not learn for you. You must play an active and major role in the learning process. You must be willing and have the time to play such a role. |
● | I (in particular) will do my best to help you succeed and do well but I cannot effectively do it without your help. (I sometimes have the wistful thinking that some day it might be possible to instantly and effortlessly transfer the required knowledge from me to the students!) |
■ | Avoid the hopeless
situations that plagued potentially good students in the past
(NOTE: I understand that some of the situations may be beyond anyone's control.) |
● | Don't have time. (Too many courses? Too many "heavy" courses? Too "heavy" a work/study combination? etc.) |
● | Personal problems. (Romance problems? Family problems? Health problems? etc.) |
■ | Be aware of available resources and take full advantage of them to help you learn |
● | Note that I said "help you learn," and not "do the work for you." If you simply let someone else do the work for you, you are violating academic honesty. Also, if you don't learn by actually doing the work (i.e., don't understand what's going on), you almost certainly will not be able to do well in the exams. |
● | Listed below are the resources that you should be aware of: |
► | Me. (See Instructor Schedule.) |
► | Available tutors. (See Tutoring.) |
► | Peers (classmates, friends, etc.). |
■ | Always stay on top of things |
● | In other words, avoid falling behind and having to play catch up. |
● | As far as possible and for obvious reasons, the concepts to be covered are structured so that those that come later depend on those that come before. If you are not equipped with the concepts that have already been covered (because you are behind), you may not understand newer concepts that I cover later; therefore, you may not be making productive use of the time you spend attending classes. Because of this, numerous students in the past found themselves falling into the dreaded trap of "once fallen behind, keep falling further behind," which translates into "play catch up once, play catch up forever." |
● | If you start to fall behind for some unavoidable reasons, be sure to put in extra effort to catch up as quickly as possible. |
■ | Believe in the paramount importance of diligently and effectively attending classes |
(Situation permitting, classes may be recorded to help, but there's no guarantee regarding class recordings.) |
● | Avoid missing even a single class. |
► | Missing classes invites falling behind and the associated undesirable consequences mentioned in the previous pointer. |
► | Lecture notes are meant to assist you in learning while attending classes, not to serve as replacements for classes. |
► | Significant circumstantial decisions may be made (collectively where appropriate) or conveyed during class. |
► | Observation from (25+ years) experience: missing class(es) is the bane of successful course completion. |
● | Be attentive and be sure to take good notes during class. |
► | Don't fall
victim to the "I don't have to take notes since I have the suggested
book and lecture notes to fall back on" misconception. |
♯ | Some items of interest may not be found or covered in similar fashion in the suggested book and lecture notes. |
♯ | Typically, there are items found in the suggested book and/or lecture notes that are omitted, glossed over, adapted, ... |
♯ | Lectures are channels for updates (including corrections), elaborations, overlooked aspects, supplemental examples, ... |
♯ | Valuable (time-saving, prioritizing, ...) tips, tricks, traps and observations may be verbally given in passing during class. |
♯ | In-class discussions (including questions and answers) can expedite the grasp of certain concepts. |
► | Don't fall victim to the "I grasp it now so I should have it when needed later" misconception. |
♯ | Common lament: "I remember you talked about that and I understood it then, but I couldn't remember it during the exam." |
► | Do take advantage of "two (or more) is better than one" in keeping up with lectures. |
♯ | To concurrently be listening, assimilating and note-taking is not easy (especially if something new is involved). |
♯ | Comparing notes and discussing what's covered with fellow classmates can yield complementary benefits. |
♯ | You may unavoidably have to miss class and need another's help to catch up. (Note: It is not practical for instructor to repeat lectures already given to individual students out of attendance issues.) |
● | Avoid coming to class late. |
► | If you joined a class after I have started teaching, you may find it difficult to follow the lecture already in progress; therefore, you may not be making productive use of the time you spend attending the class. |
► | Irregular issues (if any) are typically dealt with at the start of class. |
► | Walking into class late is a classroom distraction. |
■ | Make sure you do the assignments yourself and learn from them |
● | You can seek help when needed but you have to do them yourself and understand what you are doing. |
► | You can have conceptual discussions with others but you MUST do all the actual work (such as coding) yourself. |
● | If you let someone else do the work for you, or copy someone else's work (in part or in whole), you are violating academic honesty. (See also Course Syllabus.) |
● | If you don't learn by actually doing the assignments (i.e., don't understand what's going on), you almost certainly will not be able to do well in the exams. |
■ | Ask me (while it still matters) when in doubt about anything related to the course |
● | Note that I said anything related to the course: assignments, tests, policies, formats, etc. |
● | Don't simply assume or guess, because you may have to bear negative consequences if you do and you are wrong. |
● | It is too late if you come to me after the fact and say, "I should have asked." (Believe me, I have heard that numerous times before.) |
● | Do understand that I am not responsible for any inaccurate information that does not come directly from me. |
■ | Come talk to me early if things don't go well for you with the course |
● | I cannot at least try to help you if I don't know that you are in trouble. |
● | It may have become futile for me to try to help if you waited until it is too late. |
■ | Keep abreast of the latest postings of course related material |
● | Be sure to visit the class homepage often (I recommend at least once a day). |
● | Use the What's New page to check for new postings: be sure to click the Refresh or Reload button each time you get on to the page to ensure that you are reading the latest version. |
● | Early knowledge about some of the material posted may save you time and effort (e.g., a time-saving tip for an assignment). |
■ | Heed my advice when doing programming assignments |
● | If you don't, you may lose points, get very discouraged/frustrated, waste valuable time, etc. |
● | See Advice on Programming Assignments. |
■ | Learn about and adapt to instructor style |
● | "My style" includes all aspects about me that are related to the course in one way or another. |
● | See About Instructor Style. |