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.

155 lines
3.8 KiB

<!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">
<h1 id="cmpt-225---introduction">CMPT 225 - Introduction</h1>
<h2 id="cmpt-225-d100--data-structures--programming">CMPT: 225, D100 — Data Structures &amp; Programming</h2>
<h2 id="graded-work">Graded Work</h2>
<ul>
<li>4 Assignments, 32%
<ul>
<li>Programming &amp; Written Components</li>
<li>Programs:
<ul>
<li>In C++</li>
<li>running on ESIL Linux machines</li>
<li>using command line tools</li>
</ul>
</li>
</ul>
</li>
<li>3 Tests, 33%
<ul>
<li>In class</li>
</ul>
</li>
<li>1 Final Exam, 35%</li>
</ul>
<h2 id="lectures">Lectures</h2>
<ul>
<li>Slides + audio recording will be posted <em>after</em> lectures.</li>
</ul>
<h2 id="labs">Labs</h2>
<ul>
<li>There are <em>help times</em> (first labs are <em>next week</em>)</li>
</ul>
<h2 id="instructor-office-hours">Instructor Office Hours</h2>
<ul>
<li>Will be primarily online — times TBA.</li>
</ul>
<h2 id="instructor-contact">Instructor Contact</h2>
<ul>
<li>Via Canvas or email (for email: write from your SFU account, use subject “225: …”)</li>
</ul>
<h2 id="some-basic-rules">Some Basic Rules</h2>
<ul>
<li>In class, do not distract others.</li>
<li>In class, no taking photos/videos/recording</li>
<li>Help each other, but submit your own work.</li>
<li>Masks are mandatory in class:
<ul>
<li>may be removed while asking a question</li>
<li>if you cannot wear a mask, please email me</li>
</ul>
</li>
<li>Please stay on “your” side of the table
<ul>
<li>and stay 6 away if you dont have a mask on</li>
</ul>
</li>
</ul>
<h2 id="course-content">Course Content</h2>
<ul>
<li>Algorithms: processes that operate on data</li>
<li>Programs: implementations of algorithms</li>
<li>Data in programs: stored in data structures
<ul>
<li>simple D.S.: variables</li>
<li>most algorithms required compound D.S.s: e.g. arrays, lists, …</li>
<li>most non-trivial applications require non-trivial D.S.s</li>
</ul>
</li>
<li>Data Type: collection of values + operations on these values</li>
<li>Multiple data types:
<ul>
<li>Cleaner/simpler slg. design</li>
<li>better code</li>
</ul>
</li>
<li>Abstract Data Type: defined by values + operations without reference to how things are implemented</li>
<li>ADTs provide an abstract view of data:
<ul>
<li>let us reason about algorithms at a high level, ignoring implementation details</li>
</ul>
</li>
<li>Good ADT choices reduce program complexity &amp; increase likelihood of success ( which is good).</li>
<li>a[i] vs. a(i)</li>
</ul>
<h2 id="we-will-look-at">We will look at:</h2>
<ul>
<li>fundamental ADTs</li>
<li>fundamental data structures (to implement them)</li>
<li>sorting algorithms</li>
<li>with attention to:
<ul>
<li>correctness</li>
<li>efficiency/speed</li>
<li>how to implement</li>
<li>how to choose (for an application)</li>
</ul>
</li>
</ul>
<h2 id="pre-regs">Pre-regs:</h2>
<ul>
<li>Basic Programming (e.g. CMPT 125)</li>
<li>Discrete Math (e.g. MACM 101)</li>
</ul>
<p>(students get these in many different ways)</p>
<h2 id="to-do">To Do</h2>
<ul>
<li>Read chapters 1 + 3 of text</li>
<li>Lear about CSIL</li>
</ul>
<h2 id="end">End</h2>
</div>
</main>
<hr>
<footer>
</footer>
</body>
</html>