Fill this form for each lecture you attend; MagicNumber
will be announced in class and will be valid only for 10-15 minutes.
Date | Post | Link |
---|---|---|
03-17-2024 | April 17 1200-1500. CSIL | |
03-23-2024 | March 31 class zoom. | |
03-18-2024 | Assignment 5 is up | link |
03-13-2024 | Week 10,11 is up | |
03-04-2024 | Lab 8 posted | |
03-04-2024 | Assignment 4 posted. | link |
02-25-2024 | Week 7,8, (9 F2F) | |
02-15-2024 | Lab 7 is up | link |
02-15-2024 | Lab 6,7 is up | link |
02-10-2024 | Assignment 3 is up | link |
02-10-2024 | Midterm-Aids | link |
02-25-2024 | Midterm-Oct 23rd | link |
02-10-2024 | Week 5,6 is up | |
01-26-2024 | Lab 4 is up | link |
01-22-2024 | Assignment 2 is up | link |
01-21-2024 | Lab 3 is up | link |
01-21-2024 | Week 3 is up. | |
01-13-2024 | Week 2 and Lab 2 up | |
01-10-2024 | Assignment 1 up | link |
01-02-2024 | Lab 0 and 1 is up (deadline 13th) | |
01-02-2024 | Week 1 and Week 2 Videos/Slides | |
01-02-2024 | Course Webpage is Up | link |
Hello everyone!
This term, we're excited to use Piazza for our class discussions. It's a fantastic platform that enables quick and efficient help from your classmates, the TA, and me. I highly encourage you to ask your questions on Piazza instead of emailing them directly to us. This way, everyone benefits from the shared knowledge.
Find our class signup link at: https://piazza.com/sfu.ca/spring2025/cmpt295
lectures. In person and live.
Quiz on Canvas + Class discussion
. Quiz first-attempt will have to be on SFU campus.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.{: width="900px"}
Important: The videos will be the reference for slide-by-slide commentary
You should watch lab/tutorial videos prior to session
The lectures and lab material assume you have watched the videos
This version of CMPT 295 will combine asynchronous and synchronous content.
Caution:
live lectures may not be recorded; if recorded you will find link on video page.{: .table-striped .table-bordered }
Date | Week | Lab | Date | Topic |
---|---|---|---|---|
Monday | Tuesday | Wed | ||
Jan 6 2025 | Week 1 | Lab 1 | Jan 08 | Week 1 |
Jan 13 2025 | Week 2 Quiz 1. | Lab 2 | Jan 15 | Week 2 |
Jan 20 2025 | Week 3 Quiz 2. | Lab 3 (Self) | Jan 22 | Week 3 Ass 1 due |
Jan 27 2025 | Week 4 Quiz 3. | Exam 1 (Foundation: W1,W2) | Jan 29 | Week 4 |
Feb 03 2025 | Week 5 Quiz 4 | Lab 4 (in-person). Lab 5 self | Feb 05 | Week 5 Quiz 5 |
Feb 10 2025 | Week 6 Ass 2 due | Lab 6 | Feb 12 | Quiz 6 Week 6 |
Feb 17 2025 | SFU Reading Break | Lab 7 (Self) | Feb 19 | SFU Reading Break |
Feb 24 2025 | Exam Revision |
Exam 2 (ISAs: W3-W6) | Feb 26 | Week 7 |
Mar 03 2025 | Week 7 Ass 3 due | Lab 8 | Mar 05 | Week 8. Quiz 7. |
Mar 10 2025 | Week 8 | Mar 12 | Week 9 Quiz 8. | |
Mar 17 2025 | Week 9 Ass 4 due | Lab 9 | Mar 19 | Week 10 |
Mar 24 2025 | Week 10 | Mar 26 | Quiz 10. Week 11 | |
Mar 31 2025 | [Week 11] ZOOM Ass 5 due | Apr 02 | Finals Break | |
Apr 07 2025 | Finals Revision | Finals. Apr 17 | Apr 09 | Finals Break Ass 6 due |
|
{: .table-striped .table-bordered }
Timing | Staff | Booking link | |
---|---|---|---|
Tuesday and Thursday (12:30 in Lab, 6:30 Zoom). | TA OH | CSIL | [Book App (required)] |
Tuesday 4:30AM - 6:20PM | Arrvindh | C9001 | |
Thursday 4:30AM - 5:20PM Quizzes+Lec | Arrvindh | C9001 | |
Thursday 3:30-4:30 | Arrvindh OH | TASC 9009 | |
Tuesday 2:30,3:30 | F2F Labs. CSIL. Starts Sep 11 |
If you have trouble setting appointment``try different browser or clear cache
We have scheduled ample office hours given the TA constraints
.If you feel TA support is insufficient, please let the department advisor know
Office Hours (OH) are a great opportunity for us to connect and delve deeper into the course material. To ensure everyone gets the most out of these sessions, here are some guidelines:Submit homework source code and check your grades on Coursys
Six programming assignments. (30%)
Labs and Participation.
10 Weekly Quizzes (5%). 0.5% for each quiz. Full points are awarded if you score atleast 80%.
Exam 1 Week 1-2 (15%). Ezam 2 Week 3-5 (15%)
Finals (35%) Week 7,8,9,10,11. Week 9 (only Ass5 and material in class). Week 10 (gates, flipflops, truth-tables will not be tested).
PASS/FAIL Criteria You have to get atleast 30% in exam 1, 40% in exam 2, and 50% in the final to pass this course.
If a student does not satisfy above criteria then the student can get at most a D in the class. The grade D is a pass, but means the course cannot be used as a prerequisite for later courses.
This policy ensures that students are able to demonstrate they are proficient with the course content in an exam setting in order to earn a C- or better. For example, if a student does not know the course material but has relied too heavily on others for completing their assignments, they will likely have low exam scores and high assignment scores. This policy helps ensure everyone can independently demonstrate their knowledge on exams.
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
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.
Tentative Letter Grade | |||||||||
---|---|---|---|---|---|---|---|---|---|
A1 (4%) | A2 (4%) | A3 (7%) | A4 (5%) | A5 (5%) | A6 (5%) | Ex1 (15%) | Ex2 (15%) | Final (30%) | Quiz (10%) |
In 295, we extensively use computer-based testing for all quizes, midterms, final, and programming assignments. State-of-the-art 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% Thursday quizes. Quizzes will always be held on Thursdays. You are allowed to retake a quiz if you fail. We will only consider your best submission.
In this course, we'll embark on an exciting exploration of what really happens when software runs. This journey takes us through multiple levels of abstraction, from hardware architecture to assembly language, and down to the intricate workings of C programming. At the core of our study is a trio of fundamental elements: C programming, assembly language, and low-level data representation. But our exploration doesn't stop there; we'll connect these core elements to higher-level concepts, diving into how programming languages are translated into assembly, understanding the general structure of a processor, and comprehending the processor's role and implementation.
This course is designed to introduce you to the fascinating world of computer organization, systems programming, and the hardware/software interface. Our topics are comprehensive and include instruction sets, computer arithmetic, datapath design, data formats, addressing modes, memory hierarchies (covering both caches and virtual memory), and multicore architectures. You'll gain hands-on experience with assembly language programming and even design a pipelined RISC V processor! This course is perfectly suited for any undergraduate who has successfully completed the 120s material.
In this iteration of the course, we'll delve into the core components of computer architecture through the lens of the RISC-V (Roman numeral V for Five) Instruction Set Architecture (ISA). RISC-V is a modern, open-source ISA, offering a unique opportunity for you to learn both assembly-level programming and the digital design of a processor. We've chosen RISC-V because it's a standard ISA taught worldwide at prestigious universities like Berkeley, Cornell, MIT, Princeton, Stanford, and more. This choice allows us to explore the end-to-end design and toolflow of a commercially viable processor within a single term, rather than being limited to a small fraction of a more complex ISA, like x86.
A Hands-On, Programming-Intensive 4 credit Experience
Prepare for a hands-on, programming-intensive experience. This course will immerse you in the practical aspects of C, assembly, and computer architecture. We'll engage in detailed discussions about the fundamental design and engineering trade-offs in computer organization at every level, ensuring a rich and comprehensive learning experience.
Food: Pizza, Tahchin
Cafe:
Music: Classic, Blues, Rock, Metal
Language: English, Farsi, C++
Food: Pizza
Cafe:
Music: Classic
Language: C++,Python
Food:
Cafe:
Music:
Language: C++ , VHDL
Food:
Cafe:
Music:
Language: C++
Food: Double Egg Kathi Rolls
Cafe: N/A
Music: Imagine Dragons
Language: English
Food:
Cafe: Honey's Donuts
Music: Classical and Carnatic
Language: English, Python, C, Java
CMPT 295 is a great way to gain a deep understanding of how computers work, build a strong foundation in computer science, and pursue a career in technology. Here are some reasons:
Understand how computers work: CMPT 295 is the study of how computer systems are designed and how they operate. You will gain a deep understanding of how computers work, from the low-level hardware components to the high-level software applications.
Build a strong foundation in computer science Computer organization is a fundamental topic in computer science, and it provides a strong foundation for many other areas of the field.
Pursue a career in technology: By mastering computer organization, you can develop a strong foundation that will help you succeed in other areas of computer science, such as software engineering, database management, and artificial intelligence.
Optimize computer performance: By understanding how hardware and software interact, you can identify areas where performance can be improved and make changes to improve overall system performance.
Drive innovation: As researchers continue to push the boundaries of what AI can do, they require more powerful systems to enable them to explore more complex models and algorithms. For example, specialized AI chips such as Google’s Tensor Processing Units (TPUs) and NVIDIA’s Tesla GPUs have driven significant improvements in AI performance.
CMPT 295 encourages use of AI Bots as a Supplemental Instructor
, NOT a Contract Cheater
.
It's important to note that while AI Bots can be a helpful resource for students, it's not a substitute for in-depth study and understanding of the material. It's important to always verify information and double-check it against reliable sources.
We have developed a custom AI Bot or Buddy for CMPT 295. It is a GPT-4 based chatbot that can answer questions about the course material. 295Bot
WE DO NOT CONTROL ENROLLMENTS INTO THE COURSE, CANVAS, OR COURSYS
PLEASE TALK TO AN ADVISOR or helpdesk@cs.sfu.ca