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.
tait.tech/_site/melody/cmpt-295/01/Lecture_01_Course_Overview_...

171 lines
4.5 KiB

<p><aside>Hello everyone!</aside></p>
<h1>Welcome to CMPT 295</h1>
<h2>Introduction to Computer Systems</h2>
<p>My name is Anne Lavergne</p>
<p>Lecture 1 Course Overview + Activity</p>
<p><aside>How does it feel to be back on campus?</aside></p>
<h2>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>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>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 => 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>The big picture: [4]</h2>
<p>In CMPT 295, we shall learn …</p>
<p>C programs (.c) &ndash; How our code and data are represented in memory</p>
<p>Assembly programs (.s) &ndash; How a compiler transforms our code into machine executable code in several steps</p>
<p>Object (.o) file an executable &ndash; How a compiler optimizes (or not) our code</p>
<p>Computer executes it &ndash; How a microprocessor is designed and how it executes our code</p>
<p>CPU, Memory &ndash; How memory is designed</p>
<p>How all of this can impact the execution of our code How to write more efficient and reliable code:
* Be able to find and eliminate bugs
more efficiently
* Be able to ascertain program performance and tune it by optimizing our code</p>
<h2>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>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 Programmer&rsquo;s Perspective, 3/E, Randal E. Bryant, David R. O'Hallaron, 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>Activity - Discover our resources [7]</h2>
<p>Instructions:
1. Form teams of 3 to 4
2. Do Lecture 1 Activity on CourSys
3. Time: about 30 minutes</p>
<h2>Question? [8]</h2>
<p>Blank page.</p>
<h2>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>Next Lecture [10]</h2>
<ul>
<li><p>Data Representation</p>
<ul>
<li>Representing information as bits</li>
</ul>
</li>
<li><p>To get ready for our next lecture:</p>
<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>