Labs | Lecture Lecture Week of M (+0) R (+3) | T (+1) R (+3) (Monday) 14:00 17:00 | 12:30 12:30 1. Jan.06 % % | L01 L02 R01 Introduction 2. Jan.13 E00 E00 | *L03 #L04 R02 C Basics 3. Jan.20 E01 E01 | *L05 #L06 R03 ... 4. Jan.27 E02 E02 | *L07 #L08 R04 5. Feb.03 E03 E03 | *L09 #L10 R05 6. Feb.10 E04 E04 | *L11 #L12 7. Feb.17 % % | % % R06 (Reading week) 8. Feb.24 E05 E05 | *L13 #L14 R07 9. Mar.03 E06 E06 | *L15 #L16 R08 10. Mar.10 E07 E07 | *L17 #L18 R09 11. Mar.17 E08 E08 | *L19 #L20 R10 12. Mar.24 E09 E09 | *L21 #L22 R11 13. Mar.31 E10 E10 | *L23 #L24 R12 14. Apr.07 % % | *L25 % Legend: Li : lecture i (25) Ej : in-lab programming exercise j (11) Rk : reading assignment k (12) % : no class / lab * : in-lecture quiz (12) # : random in-lecture quiz (5 out of 11) Final Exam: Thursday Apr 24, 14:00, CSC 159 Deferred final exam date: May-22-2014, 14:00-17:00, CSC 159
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 any intermediate programming problem by 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 new approach, which has been experimented with extensively in recent years, is to teach 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 missed lab exercises and quizzes will receive 0 marks. However, because only the 9 best lab exercises and 15 best quizzes are relevant, 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.
The final exam will be held in the lab. It will consist of a written response part and a programming part.
>= 95% A+ >= 90% A >= 85% A- >= 80% B+ >= 75% B >= 70% B- >= 65% C+ >= 60% C >= 55% C- >= 50% D+ >= 45% D < 45% 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 the highest 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 Code of Student Behaviour (online at www.ualberta.ca/secretariat/appeals.htm) 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 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 professors 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.