You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

178 lines
5.7 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> | tait.tech</title>
<link rel="stylesheet" href="/assets/css/style.css" id="main-css">
<link rel="stylesheet" href="/assets/css/transcription.css" id="trans-css">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="/assets/js/"></script>
</head>
<body>
<main>
<div id="wrapper">
<aside>Hello everyone!</aside>
<h1 id="welcome-to-cmpt-295">Welcome to CMPT 295</h1>
<h2 id="introduction-to-computer-systems">Introduction to Computer Systems</h2>
<p>My name is Anne Lavergne</p>
<p>Lecture 1 Course Overview + Activity</p>
<aside>How does it feel to be back on campus?</aside>
<h2 id="todays-menu-1">Todays Menu [1]</h2>
<ul>
<li>COVID Protocol</li>
<li>What is CMPT 295?
<ul>
<li>What shall we learn in CMPT 295?</li>
<li>What should we already know?</li>
<li>Which resources do we have to help us learn all this?</li>
</ul>
</li>
<li>Activity</li>
<li>Questions</li>
</ul>
<h2 id="covid-protocol--about-masks-2">COVID protocol About masks! [2]</h2>
<p>Here is a message from Elizabeth Elle, SFU Vice Provost Learning &amp; Teaching, based on the public health order:</p>
<ul>
<li>Unless we have an approved exemption, we are required to wear a mask in all indoor common and learning spaces, including classrooms. Please come to campus prepared with a non-medical mask.
<ul>
<li>If we forget our mask, disposable masks are available from Student Central in Burnaby and at the information desks in Vancouver and Surrey.</li>
<li>If we require a mask exemption in the classroom for medical reasons, please contact the Centre for Accessible Learning at cal_admin@sfu.ca for assistance.</li>
<li>If we are requesting mask exemptions on other protected grounds, such as religion, we can contact the Office of Student Support, Rights and Responsibilities at student_support@sfu.ca.</li>
</ul>
</li>
<li>And please remember to be kind to each other. If we see someone not wearing a mask, do not make assumptions or judgments as that person may be exempt.</li>
</ul>
<h2 id="what-is-cmpt-295-3">What is CMPT 295? [3]</h2>
<ul>
<li>The goal of this course is to give us, software developers, a look “under the hood” of a computer, i.e., to learn about Computer Systems =&gt; microprocessor, memory, … <img src="" alt="a car with its hood up." /></li>
<li>This knowledge will allow us to become more efficient software developers</li>
</ul>
<h2 id="the-big-picture-4">The big picture: [4]</h2>
<p>In CMPT 295, we shall learn …</p>
<ul>
<li>C programs (.c) How our code and data are represented in memory</li>
<li>Assembly programs (.s) How a compiler transforms our code into machine executable code in several steps</li>
<li>Object (.o) file an executable How a compiler optimizes (or not) our code</li>
<li>Computer executes it How a microprocessor is designed and how it executes our code</li>
<li>CPU, Memory How memory is designed</li>
</ul>
<p>How all of this can impact the execution of our code How to write more efficient and reliable code:</p>
<ul>
<li>Be able to find and eliminate bugs
more efficiently</li>
<li>Be able to ascertain program performance and tune it by optimizing our code</li>
</ul>
<h2 id="what-should-we-already-know-5">What should we already know? [5]</h2>
<ul>
<li>Write correct C programs
<ul>
<li>C constructs (variables, data types, pointers, if/else, switch/case, for/while/do while, function calls, arrays, …)</li>
</ul>
</li>
<li>What a stack is and how it works</li>
<li>Binary/decimal/hexadecimal numeral systems
<ul>
<li>How to convert from one numeral system to the others</li>
<li>Basic arithmetic</li>
</ul>
</li>
<li>Perform Boolean algebra using and, or, not, xor</li>
</ul>
<h2 id="which-resources-do-we-have-6">Which resources do we have? [6]</h2>
<ul>
<li>Course web site
https://www2.cs.sfu.ca/CourseCentral/295/alavergn/index.html</li>
<li>Textbook
<ul>
<li>Computer Systems: A Programmers Perspective, 3/E, Randal E. Bryant, David R. OHallaron, Pearson, 2016</li>
</ul>
</li>
<li>Labs in CSIL (Computing Science Instructional Lab)
<ul>
<li>Target Machine: CSIL workstation
<ul>
<li>Linux platform (or OS)</li>
<li>C programming language</li>
<li>x86-64 assembly language</li>
<li>gcc compiler</li>
</ul>
</li>
</ul>
</li>
<li>Instructor and TAs - Office hours</li>
</ul>
<h2 id="activity---discover-our-resources-7">Activity - Discover our resources [7]</h2>
<p>Instructions:</p>
<ol>
<li>Form teams of 3 to 4</li>
<li>Do Lecture 1 Activity on CourSys</li>
<li>Time: about 30 minutes</li>
</ol>
<h2 id="question-8">Question? [8]</h2>
<p>Blank page.</p>
<h2 id="summary-9">Summary [9]</h2>
<ul>
<li>COVID Protocol</li>
<li>What is CMPT 295?
<ul>
<li>What shall we learn in CMPT 295?</li>
<li>What should we already know?</li>
<li>Which resources do we have to help us learn all this?</li>
</ul>
</li>
<li>Activity</li>
<li>Questions</li>
</ul>
<h2 id="next-lecture-10">Next Lecture [10]</h2>
<ul>
<li>Data Representation
<ul>
<li>Representing information as bits</li>
</ul>
</li>
<li>To get ready for our next lecture:
<ul>
<li>Optional: Read Chapter 1 of textbook</li>
<li>Not so optional: Read Section 2.1 of Chapter 2</li>
<li>Download the partial lecture notes found under the column Lecture in the table on our course web site</li>
</ul>
</li>
</ul>
</div>
</main>
<hr>
<footer>
</footer>
</body>
</html>