Lab Time Room TA(s) D1 M14:00-16:50 CSC 159 Mark (mjsteven@) D2 T17:00-19:50 CSC B2 Samiul (samiul@) Chenqiu (chenqiu1@) D3 R08:00-09:50 CSC 159 Alan (yong@) D4 R14:00-16:50 CSC 159 Baihong (bq@) Parnian (pyousefi@) D5 R17:00-19:50 CSC B2 Jake (tuero@) Abhishek (anan1@) Animesh (animeshk@) - Yourui (yourui@)TA workload (instructor/TA use only, THIS IS NOT A TA TIMETABLE, contact them by email individually to setup meetings)
g++ -Wall -Wextra -g -O -fsanitize=undefined -fsanitize=address file.C
Labs | Lectures Week of | M+0 W+2 F+4 Edue Reading (Monday) ---------+--------------------------------------- 1. Sep.03 % | % L01 L02 R01 2. Sep.10 E00 | L03 L04 L05 R02 3. Sep.17 E01 | L06 L07 L08 E01d R03 4. Sep.24 E02 | L09 L10 L11 E02d R04 5. Oct.01 E03 | L12 L13 L14 E03d R05 6. Oct.08 E04 | %(TG) L15 L16 E04d R06 7. Oct.15 E05 | L17 L18 MT E05d R07 8. Oct.22 E06 | L19 L20 L21 E06d R08 9. Oct.29 E07 | L22 L23 L24 E07d R09 10. Nov.05 E08 | L25 L26 L27 E08d R10 11. Nov.12 % | % % % (Reading week) 12. Nov.19 E09 | L28 L29 L30 E09d R11 13. Nov.26 E10 | L31 L32 L33 E10d R12 14. Dec.03 E11 | L34 L35 L36 E11d REX Legend: Li : lecture i (36) Rk : reading assignment k (12) Ej : lab exercise j related to Rj (1+11) Ejd : lab exercise j due Fridays 22:00 (11) MT : in-class midterm exam (1) Oct 19 % : no class / lab / reading FEX Q/A session: Dec-12-2018, 14:00-15:30, CSC B10, bring questions! Tentative FEX date: Dec-20-2018, 9:00-11:00, Pavilion Rows 1,3, CLOSED BOOK FORMAT Deferred final exam date: Jan-7-2019, 14:00-16:00, ATH 332
Like the best carpenters and artists, the best programmers combine both a solid theoretical foundation with "best practices" and tools refined by years of experience. Instead of stress loads on walls and hammers, or colour theory and paint brushes, programmers work with abstract data types and software libraries.
It takes an understanding of practical programming methodology, and a diverse set of tools to translate a creative idea into a working implementation. The programmer cares about choosing the right tool for the right problem, and is not simply interested in collecting the most tools.
CMPUT 201 is a "doing art" and not an "art appreciation" course; it requires hands-on, active learning. For a programmer, the end product is a complete, working program.
Be able to handle small scale programming tasks using C or C++ and UNIX. Have the skills to combine your knowledge of program design and data structures (174/175), with useful algorithms and mathematics (204/272), and application-specific knowledge (291/379) to design and implement non-trivial software.
Instead of the established lecture-lab-assignment-exam routine, in this course we'll try something different: the inverted class room. The goal of this approach, which has been experimented with extensively in recent years, is to help students to become independent learners and problem solvers more effectively. The main idea is to replace lecture time that used to be filled with instructors' monologues by more valuable interactive problem solving sessions.
Here is how it will be done in this course:
All lab exercise Ej solutions are due the following Friday at 22:00 - see Edue column in the schedule. E.g., E01 solutions are due Friday Sep. 21 at 22:00. Lab exercise solutions are tested on lab computer ug01.cs.ualberta.ca. You need to ensure that your submissions work there (e.g., use scp and ssh to copy and test your files).
Late (or not submitted) exercise solutions and missed quizzes will receive 0 marks. However, because only the 9 best exercises and 5 best quizzes count, students are granted some essentially free absences. Questions or concerns about marking must be brought to the instructor's attention by email within 2 days of the return date.
≥ 90% A+ ≥ 85% A ≥ 80% A- ≥ 76% B+ ≥ 73% B ≥ 70% B- ≥ 66% C+ ≥ 63% C ≥ 60% C- ≥ 55% D+ ≥ 50% D < 50% Fsubject to this important condition: if the result of the final exam is less than 40%, the final course grade will not be better than D+.
The University of Alberta is committed to high standards of academic integrity and honesty. Students are expected to be familiar with these standards regarding academic honesty and to uphold the policies of the University in this respect. Students are particularly urged to familiarize themselves with the provisions of the at Code of Student Behaviour and avoid any behaviour which could potentially result in suspicions of cheating, plagiarism, misrepresentation of facts and/or participation in an offence. Academic dishonesty is a serious offence and can result in suspension or expulsion from the University. (GFC 29 SEP 2003)
Copying and cheating on assignments will be penalized with a mark of 0 (see the standard handouts for academic dishonesty and copying and cheating, and Section 30.3.2 Inappropriate Academic Behaviour in above document.
If you want to use a git repository for storing your course work make sure it is private. You also must not share your repository with fellow students. Keep in mind that it is easy to find code similarities with automated tools ...
In this course we use the "Consultation" model: students are encouraged to discuss and solve problem sets in small groups to speed up learning and stimulate idea exchange. In the end, however, students must write down their own solutions and be able to solve similar problems independently.
Regardless of the collaboration method allowed, you must always properly acknowledge the sources you used and people you worked with. Failure to give proper credit is considered plagiarism. In general, academic dishonesty is a serious offence and can result in suspension or expulsion from the University.
Your instructors reserve the right to give you an exam (oral, written, or both) to determine the degree that you participated in the making of the deliverable, and how well you understand what was submitted. For example, you may be asked to explain any code that was submitted and why you choose to write it that way. This may impact the mark that you receive for the deliverable.
Note that this potential additional questioning about your deliverable is part of the assessment process, both summative (for marks) and formative (for feedback to you and us). It is intended to give us additional information about what you have learned. So, whenever you submit a deliverable, especially if you collaborate, you should be prepared for an individual inspection/walkthrough in which you explain what every line of your code, assignment, design, documentation etc. does and why you chose to write it that way.