WE DO NOT CONTROL ENROLLMENTS INTO THE COURSE, CANVAS, OR COURSYS
PLEASE TALK TO AN ADVISOR or helpdesk@cs.sfu.ca
Fill out this form: https://forms.gle/2UESC8B9rtwrg5nN8
Lab 0 needs to be complete before we can grade your assignment and subsequent quizzes.
Date | Post | Link |
---|---|---|
10-20-2022 | Finals Dec 9th. 7pm-9:30pm. All CSIL. | |
11-28-2022 | Assignment 6 is up | link |
11-14-2022 | Assignment 5 is up | link |
11-14-2022 | Week 10,11 is up | |
11-1-2022 | Lab 8 posted | |
10-29-2022 | Assignment 4 posted | link |
10-20-2022 | Week 7,8, (9 F2F) | |
10-13-2022 | Lab 6 is up | link |
10-13-2022 | Assignment 3 is up | link |
10-10-2022 | Midterm-Oct 20 | link |
10-10-2022 | Week 6 is up | |
09-27-2022 | Lab 4 is up | link |
09-27-2022 | Assignment 2 is up | link |
09-21-2022 | Lab 3 is up | link |
09-21-2022 | Week 3,4,5 is up | |
09-13-2022 | Week 2 and Lab 2 up | |
09-09-2022 | Assignment 1 up | link |
09-02-2022 | Lab 0 and 1 is up (deadline 13th) | |
09-02-2022 | Week 1 and Week 2 Videos/Slides | |
09-02-2022 | Course Webpage is Up | link |
This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email team@piazza.com.
Find our class signup link at: https://piazza.com/sfu.ca/fall2022/cmpt295
lectures and Instructor Office Hours. In person and live.
Quiz on Canvas
. Quiz can only be taken from SFU Campus.We are confident that this arrangement will be ideal for many of you who may still be distanced from class and can enjoy this hybrid structure that enables a collegial atmosphere as well as some benefits of remote learning.
F2F
tag on the syllabus) of the slides. F2F sessions will be spent on reinforcing concepts and problem sets (not slide-by-slide commentary). The class videos will be recorded and be made available within 72hrs after the class.Important: You are expected to have watched the
videos prior to attending the lab and class. The lectures and lab material
assume you have watched the videos
This version of CMPT 295 will combine asynchronous and synchronous content.
We have scheduled ample office hours given the TA constraints
.
~25 hrs (~30 minutes/student). Try to take advantage of this using the booking links below. Please do not book more than one slot per day as you will be locking out others.
If you feel TA support is insufficient, please let the department advisor know
Finals time will be set by SFU
Date | Lectures | Date | Quiz, OH | Date | |
---|---|---|---|---|---|
Thursday | Classroom | Monday | Classroom | Tuesday | CSIL |
Sep 08 | Week 1 | Sep 12 | Quiz 1. (Class) | Sep 13 | Lab 1 |
Sep 15 | Week 2 | Sep 19 | Holiday Async Quiz 2. | Sep 20 | Lab 2 |
Sep 22 | Week 3 | Sep 26 | Quiz 3. (Ass1 due) | Sep 27 | Lab 3 |
Sep 29 | Week 4 | Oct 03 | Quiz 4. | Oct 04 | Lab 4 |
Oct 06 | Week 5 | Oct 10 | --No Session-- Quiz 5 |
Oct 11 | Lab 5 |
Oct 13 | Week 6 Async Quiz 6 (Ass2 due) | Oct 17 | Midterm OH | Oct 18 | Lab 6 |
Oct 20 | Midterm Exam | Oct 24 | Midterm review | Oct 24 | Lab 7 |
Oct 27 | Week 7 | Oct 31 | Quiz 7. (Ass 3 due) Class. | Sep 1 | Lab 8 |
Nov 03 | Week 8 | Nov 07 | Quiz 8. Class. | Nov 8 | |
Nov 10 | Week 9 | Nov 14 | Class (Ass 4 due) | Nov 15 | Lab 9 |
Nov 17 | Week 10 | Nov 21 | Class | Nov 22 | |
Nov 24 | Week 11 | Nov 28 | Quiz 10/11. (Ass 5 due) | Nov 29 | |
Dec 01 | Revision | Dec 05 | Revision Ass 6 due | Dec 06 | |
Dec 09 | Finals SWH 10081 and CSIL |
On Mondays, I will be available for public office hours in the classroom.
There will be no lecture on Mondays. This is dedicated for lecture and quiz related Q/A from previous week
1-1 Q/A will be by appt on Thursdays only.
Timing | Staff | Booking link | |
---|---|---|---|
11:30—12:30pm Wed. 12 - 1pm and 6pm-7pm Fri (starting Sep 12th) | TA OH | ASB 9810 | Book TA |
Thursday 4:30-6:20pm (starting Sep 19th) | Arrvindh Shriraman | SWH 10081. | Book Inst. |
Monday 4:30-5:20 Quizes | Arrvindh Shriraman | SWH 10081 | |
Tuesday 3:30,4:30,5:30,6:30 | F2F Labs. CSIL |
my program segfaults, my pointer is broken
is a TA OH. How does hashing work
: Instructor OHPASSWORD: See welcome email
` If you have trouble setting appointment``try different browser or clear cache `
Submit homework source code and check your grades on Coursys
This is the typical mapping from % to letter grade at the end: A+ 97 A 92 A- 87 B+ 82 B 77 B- 72 C+ 67 C 62 C- 55 D 50 F
You have to get atleast 45% in your midterm and final to pass this course.
In the event that your distribution does not align with the CMPT departmental guidelines, we may decrease the raw score boundaries, but they will not increase (i.e. it is possible to receive a higher grade than the mapping suggests, but not a lower one). Please note that we will not include WD students or Incompletes in any adjustments we do.
In 295, we extensively use computer-based testing for all quizes, midterms, final, and programming assignments. Computer-based testing has been developed to eliminate TA-opinion based scoring, ensure fairness, and accurately measure student ability to program. The scores essentially reflect at this specific moment in your educational trajectory, the programming knowledge required for 300 and 400-level courses, and minimum programming expertise required for a job. Programming is an unusual form of computer interaction that demands precise output and testing; there is no such things as “somewhat correct” in programming. Hence, we award scores based on demonstrable tests passed and failed. TAs simply verify and upload the grades; they are not evaluating the tests and cannot influence your actual scores. Please email them only in the event that there is an error in our grading scheme. We understand that tests and scores do not inherently measure your intrinsic worth as a student or human. Remember, the letter grades are not passing judgement on you as a person.
Participation grades are awarded at the end of the course. I want to encourage participation in my classes. I believe that learning goes both ways, and that it’s important for you to participate to get the full learning experience. Therefore, I encourage participation by making part of your grade dependent on it.
Extra credit: 0.5% class wide for active classes of your total grade comes from actively participating in class (defined broadly) and attending labs. In general, if the overall classroom environment is active everyone will be awarded this grade. So ask questions for both your sake and your neighbor’s sake. I will be judging this after each class.
5% Monday quizes. Quizzes will always be held on Mondays. You are allowed to retake a quiz if you fail. We will only consider your best submission.
This course should develop students’ sense of what really happens when software runs — and that this question can be answered at several levels of abstraction, including the hardware architecture level, the assembly level and the C programming level. The core around which the course is built is C, assembly, and low-level data representation, but this is connected to higher levels. Roughly how programming langauges are converted to assembly, the general structure of a processor, and the role of the processor and how it is implemented.
This course provides an introduction to computer organization, systems programming and the hardware/software interface. Topics include instruction sets, computer arithmetic, datapath design, data formats, addressing modes, memory hierarchies including caches and virtual memory, and multicore architectures. Students learn assembly language programming and design a pipelined RISC V processor. The course is open to any undergraduate who has mastered the 120s material.
This version of the course will study the core components in computer architecture through the lens of the RISC-V (V : Five) ISA. What is RISC V? It is a modern open source instruction set that enables students to learn both assembly-level programming, the digital design of a processor. From 295’s perspective, we adopt a standard ISA that is taught widely across multiple universities world wide (e.g., Berkeley, Cornell, MIT, Princeton, Stanford etc). It affords an opportunity to study the end-to-end design and toolflow of a commercially viable processor within a term, as opposed to being restricted to less than 10% of a complex ISA (e.g., x86).
This course is a hands-on, programming-heavy course. Expect to get down and get your hands dirty with C, assembly, and hardware design. We will discuss the fundamental design and engineering trade-offs in computer organization at every level.
295 is an intensive course. We do try to administer the prerequisites in Week 1 and 2,
that should have been taught by previous courses. If you find this material and Assignment 1 even a little uncomfortable
then we strongly encourage you to consider taking this course in a different term once you have built up
the required prerequisites
.
Either MACM 101, and CMPT 125 and CMPT 127, or CMPT 135. or MATH 151 and CMPT 102 for students in an Applied Physics program, all with a minimum grade of C-. Please see here for prerequisites we expect you to know from prior courses:
As outlined above we expect prior courses to administer the requisite C or C++ knowledge with experience in working with linux terminal/shell. If you do not have this experience; please head to the tutorials page and follow the tutorials, and self-learn using the videos we post and recommend. All assignments and lab in this course are administered through the linux environment and assume you have the prerequisites.
WARNING: We have minimal TA support (~50 students/TA) and do not
have resources to be imparting prerequisites that should have been taught in
previous courses.
If you are not comfortable working with C/C++ and linux terminal then you do not have
the prereqs (irrespective of your grade in the prior course), please talk to an academic advisor
Solid programming skills (C). Working at shell/terminal in unix/linux.