Labs start Jan-10
Have a question? If it is of general interest please submit it to the eClass forum. Otherwise, please contact one of your lab TAs first via email (see list below)
Lab Id Time TA Information A H01 Mo 14:00-16:50 MS[1] GT[2M] B H02 Tu 17:00-19:50 JT[1] CK[1] AA[2] AH[2M] C H03 We 17:00-19:50 MS[1] AR[2M] GT[2] CK[2] D H04 Th 14:00-16:50 JT[1M] AA[2] Legend: [1] part 1, [2]: parts 1+2, [M] marking
Mo Tu We Th Fr 12:00 ------------+------------+------------+------------+------------+ :30 |------------| |------------| | 13:00 ------------+ Lec-B2 +------------+ Lec-B2 +------------+ :30 Lec-B1 | | Lec-B1 | | Lec-B1 | 14:00 ------------+------------+------------+------------+------------+ :30 Lab A | Q/A | Q/A | Lab D | | 15:00 small +----------- +------------+ small + + :30 2 TAs | | | 2 TAs | | 16:00 + + + + + :30 | | | | | 17:00 ------------+------------+------------+------------+ + :30 | Lab B | Lab C | | | 18:00 + big + big + + + :30 | 4 TAs | 4 TAs | | | 19:00 + + + + + :30 | | | | | 20:00 ------------+------------+------------+------------+------------+ ~ ~ ~ ~ ~ ~ 22:00 ------------+------------+------------+------------+ Hj due +
Lec. Lab Mo+0 We+2 Fr+4 Tu+1 Th+3 Fr+4 Week of Topic Topic Lectures B1 Lectures B2 H.rel. H.due Reading rel. (Monday) ----- ----- -----+-----+----- -----+----- ----------------------------- 1. Jan.03 Intro % % L01 L02 % L01 H00 R01 2. Jan.10 R01 H00 L03 L04 L05 L02 L03 H01 H00d R02 3. Jan.17 R02 H01 L06 L07 L08 L04 L05 H02 H01d R03 4. Jan.24 R03 H02 L09 L10 L11 L06 L07 H03 H02d R04 5. Jan.31 R04 H03 L12 L13 L14 L08 L09 H04 H03d R05 6. Feb.07 R05 H04 L15 L16 L17 L10 L11 H05 H04d R06 7. Feb.14 R06 H05 L18 L19 L20 L12 L13 H06 H05d R07 Feb.21 % ---------------------------- Reading week ---------------------------- % 8. Feb.28 R07 H06 L21 L22 L23 L14 L15 H07 H06d R08 9. Mar.07 R08 H07 L24 L25 L26 L16 L17 H08 H07d R09 10. Mar.14 R09 H08 L27 L28 L29 L18 L19 H09 H08d R10 11. Mar.21 R10 H09 L30 L31 L32 L20 L21 H10 H09d R11 12. Mar.28 R11 H10 L33 L34 L35 L22 L23 H11 H10d R12 13. Apr.04 R12 H11 L36 L37 L38 L24 L25 H11d REX Legend: Li : lecture i Rk : reading assignment k (12) Hj : homework exercise and lab agenda j (related to Rj) (12) Hjd : homework Hj due Fridays 22:00 % : no class / lab / reading FEX Q/A session: TBA, bring questions! Tentative FEX dates: Apr-22 09:00-12:00 (B1), Apr-20 09:00-12:00 (B2), REMOTE/CLOSED BOOK FORMAT Deferred final exam date: Apr-26-2022, 13:00-16:00
This looks complicated but it boils down to repeating the following 12 times:
For instance, R01 is released Jan-7, related small problems will be solved in the lectures between Jan-10 and 14, and medium sized problems related to R01 will be solved in the lab and homework exercises between Jan-17 and 21
This course provides an introduction to the principles, methods, tools, and practices of the professional programmer. The lectures focus on the fundamental principles of software engineering based on abstract data types and their implementations. The labs offer an intensive apprenticeship to the aspiring software developer. Students use C, C++, and software development tools of the UNIX environment
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 method, 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:
Students must attend sessions (lectures and labs) they are registered in. Quiz and lab exercise submissions outside the registered session times will be ignored
Details about course delivery including Zoom and Google Meet links are given here
Labs sessions will consist of multiple parts:
For the help session it is crucial that you have made yourself familiar with the homework exercise problem set and already started working on it prior to your lab. Also, if you'd like to get help with your homework exercise during the labs we suggest that you solve the prep problem ahead of time, so that during the lab prep phase you can ask for homework help
During lab sessions students must reside in the main Google meet room, as well as in their private Google meet rooms with your camera, mic, and speakers switched on and sharing your entire screen. This will allow TAs to quickly interact with you in case you need help in the prep phase
In the lab exercise phase TAs will visit you in your private Google meet room randomly to check whether you work on the exercise without external help. In case of irregularities (e.g., camera off, screen not shared, student not present, non-course URL accessed) the student will receive a warning. If after more than 10 minutes passed a second irregularity is detected, the student will receive 0 marks for that lab
Homework exercises are released on Fridays and due the following Friday at 22:00 - see the H.due column in the schedule. E.g., H01 solutions are due Friday Jan-21 at 22:00. Homework and 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, or use x2go to connect to a lab computer)
Short quizzes are randomly scheduled during the lecture time and relate to the current reading assignment. They give students an incentive to prepare for the week's lectures in which problems related to the reading assignment are discussed
Late (or not submitted) homework or lab exercise solutions and missed quizzes will receive 0 marks. However, because we use best-x-of-y rules, 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
Lastly, lab exercise k and homework k can only be solved with the reading material up to Rk. E.g., Lab 3 and H03 solutions must be based on material up to R03. This means that you can't use advanced C++ functionality that will be introduced later, for instance
≥ 90% A+ ≥ 85% A ≥ 80% A- (excellent) ≥ 76% B+ ≥ 73% B ≥ 70% B- (good) ≥ 66% C+ ≥ 63% C ≥ 60% C- (satisfactory) ≥ 55% D+ ≥ 50% D (minimal pass) < 50% F (fail)
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 ...
Video recordings of lecture and lab sessions (e.g., using OBS Studio) are allowed for personal use only
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