Difference between revisions of "CSC231 Schedule Spring 2017"
(→ ) |
m (Thiebaut moved page CSC231 Schedule 2017 to CSC231 Schedule Spring 2017) |
||
(55 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
[[CSC231_Schedule_2017#Links_and_Resources | Links & Resources]]</center><br /> | [[CSC231_Schedule_2017#Links_and_Resources | Links & Resources]]</center><br /> | ||
<br /> | <br /> | ||
− | + | [[CSC231_Schedule_Fall_2017 | You probably want to be on the CSC231, '''Fall 2017''' page...]] | |
+ | <onlydft> | ||
<br /> | <br /> | ||
==== ==== | ==== ==== | ||
Line 17: | Line 18: | ||
|} | |} | ||
<br /> | <br /> | ||
− | {| class="mw-collapsible | + | {| class="mw-collapsible " style="width:100%" border="1" |
|- style="background:#dddddd;" | |- style="background:#dddddd;" | ||
|width="60%"| '''Topics''': Introduction | |width="60%"| '''Topics''': Introduction | ||
Line 62: | Line 63: | ||
|} | |} | ||
<br /> | <br /> | ||
− | {| class="mw-collapsible | + | {| class="mw-collapsible" style="width:100%" border="1" |
|- style="background:#dddddd;" | |- style="background:#dddddd;" | ||
|width="60%"| '''Topics''': Emacs, assembly, hexdump | |width="60%"| '''Topics''': Emacs, assembly, hexdump | ||
Line 100: | Line 101: | ||
|} | |} | ||
<br /> | <br /> | ||
− | {| class="mw-collapsible | + | {| class="mw-collapsible" style="width:100%" border="1" |
|- style="background:#dddddd;" | |- style="background:#dddddd;" | ||
|width="60%"| '''Topics''': Registers (eax, ax, al). The ADD Instruction | |width="60%"| '''Topics''': Registers (eax, ax, al). The ADD Instruction | ||
Line 119: | Line 120: | ||
| | | | ||
− | * '''Homework #1''' will be released on Monday 2/6 at 11:00 a.m. You will find it on Moodle and you will have until 2/13/17 11:55 p.m. to submit it. | + | * '''Homework #1''' will be released on Monday 2/6 at 11:00 a.m. You will find it on Moodle and you will have until 2/13/17 11:55 p.m. to submit it. [[CSC231 Homework Solutions 2017| Solution program]] |
| | | | ||
* Read [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH04/CH04-3.html#HEADING3-79 Chapter 4 Section 3] on the '''Mov''' Instruction. | * Read [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH04/CH04-3.html#HEADING3-79 Chapter 4 Section 3] on the '''Mov''' Instruction. | ||
Line 135: | Line 136: | ||
|} | |} | ||
<br /> | <br /> | ||
− | {| class="mw-collapsible | + | {| class="mw-collapsible" style="width:100%" border="1" |
|- style="background:#dddddd;" | |- style="background:#dddddd;" | ||
|width="60%"| '''Topics''': SUB, DW, DD, DB, Binary, Hex, Decimal conversion. | |width="60%"| '''Topics''': SUB, DW, DD, DB, Binary, Hex, Decimal conversion. | ||
Line 163: | Line 164: | ||
| | | | ||
* [[CSC231_Homework_2_2017| '''Homework #2''']] is released on Monday 2/13 at 11:00 a.m. It contains a programming assignment, and a quiz to be answered on '''Moodle'''. The due date is Monday 2/20/17 11:55 p.m. | * [[CSC231_Homework_2_2017| '''Homework #2''']] is released on Monday 2/13 at 11:00 a.m. It contains a programming assignment, and a quiz to be answered on '''Moodle'''. The due date is Monday 2/20/17 11:55 p.m. | ||
+ | * [[CSC231 Homework Solutions 2017| Solution program(s)]] | ||
| | | | ||
* Read [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH01/CH01-1.html#HEADING1-30 Chapter 1] in the Art of Assembly reference by Randy Hyde, Sections '''1.0''' to '''1.4'''. | * Read [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH01/CH01-1.html#HEADING1-30 Chapter 1] in the Art of Assembly reference by Randy Hyde, Sections '''1.0''' to '''1.4'''. | ||
Line 177: | Line 179: | ||
|} | |} | ||
<br /> | <br /> | ||
− | {| class="mw-collapsible | + | {| class="mw-collapsible" style="width:100%" border="1" |
|- style="background:#dddddd;" | |- style="background:#dddddd;" | ||
|width="60%"| '''Topics''': Conversion binary, hex, decimal. | |width="60%"| '''Topics''': Conversion binary, hex, decimal. | ||
Line 196: | Line 198: | ||
| | | | ||
* '''Homework #3''' is released on Monday 2/20 at 11:00 a.m. It contains several quizzes to be answered on Moodle.. The due date is Monday 2/27/17 11:55 p.m. | * '''Homework #3''' is released on Monday 2/20 at 11:00 a.m. It contains several quizzes to be answered on Moodle.. The due date is Monday 2/27/17 11:55 p.m. | ||
+ | * [[CSC231 Homework Solutions 2017| Solution program]] | ||
| | | | ||
* Section 6.5.1.2 in [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-2.html#HEADING2-117 Hall's Art of Assembly] | * Section 6.5.1.2 in [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-2.html#HEADING2-117 Hall's Art of Assembly] | ||
Line 213: | Line 216: | ||
|} | |} | ||
<br /> | <br /> | ||
− | {| class="mw-collapsible | + | {| class="mw-collapsible" style="width:100%" border="1" |
|- style="background:#dddddd;" | |- style="background:#dddddd;" | ||
|width="60%"| '''Topics''': Logical instructions, Logic Design, Signed Numbers | |width="60%"| '''Topics''': Logical instructions, Logic Design, Signed Numbers | ||
Line 233: | Line 236: | ||
| | | | ||
* [[CSC231 Homework 4 2017 |''' Homework 4''']], due March 6 at 11:55 p.m. | * [[CSC231 Homework 4 2017 |''' Homework 4''']], due March 6 at 11:55 p.m. | ||
+ | * [[CSC231 Homework Solutions 2017| Solution program]] | ||
| | | | ||
* Read [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH01/CH01-2.html#HEADING2-49 Section 1.5] on Logical Operations on Bits | * Read [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH01/CH01-2.html#HEADING2-49 Section 1.5] on Logical Operations on Bits | ||
Line 248: | Line 252: | ||
|} | |} | ||
<br /> | <br /> | ||
− | {| class="mw-collapsible | + | {| class="mw-collapsible" style="width:100%" border="1" |
|- style="background:#dddddd;" | |- style="background:#dddddd;" | ||
|width="60%"| '''Topics''': 2's Complement, Midterm | |width="60%"| '''Topics''': 2's Complement, Midterm | ||
Line 341: | Line 345: | ||
| | | | ||
* [[CSC231 Homework 5 2017| Homework 5]] (due 4/3/2017) | * [[CSC231 Homework 5 2017| Homework 5]] (due 4/3/2017) | ||
+ | * [[CSC231 Homework Solutions 2017| Solution program]] | ||
| | | | ||
* [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-5.html#HEADING5-3 Unconditional Jump] | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-5.html#HEADING5-3 Unconditional Jump] | ||
Line 374: | Line 379: | ||
| | | | ||
* [[CSC231 Homework 6 2017 | Homework 6]] (due 4/10/17 at 11:55 p.m.) | * [[CSC231 Homework 6 2017 | Homework 6]] (due 4/10/17 at 11:55 p.m.) | ||
+ | * [[CSC231 Homework Solutions 2017| Solution program]] | ||
| | | | ||
* [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-5.html#HEADING5-226 Conditional Jump instructions] | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-5.html#HEADING5-226 Conditional Jump instructions] | ||
Line 383: | Line 389: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 11''' Apr | + | |width="45%"|'''Week 11''' Apr 10, 12, 14 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 391: | Line 397: | ||
{| class="mw-collapsible " style="width:100%" border="1" | {| class="mw-collapsible " style="width:100%" border="1" | ||
|- style="background:#dddddd;" | |- style="background:#dddddd;" | ||
− | |width="60%"| '''Topics''': Function, Stack, Push, Pop | + | |width="60%"| '''Topics''': Function, Stack, Push, Pop |
|width="15%"| '''Lab/Hw''' | |width="15%"| '''Lab/Hw''' | ||
|width="25%"| '''Reading''' | |width="25%"| '''Reading''' | ||
Line 403: | Line 409: | ||
| | | | ||
* [[CSC231 Homework 7 2017 | Homework 7 (due 4/17/17)]] | * [[CSC231 Homework 7 2017 | Homework 7 (due 4/17/17)]] | ||
+ | * [[CSC231 Homework Solutions 2017| Solution program]] | ||
| | | | ||
* [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH11/CH11-1.html#HEADING1-0 Functions]. Functions are also called ''procedures'' when dealing with assembly. You'll find this term used in Randy Hyde's documentation. Also, Hydes uses the '''proc''' and '''endp''' directives to define functions, which is fine. We won't in this class. Functions work just as well without! | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH11/CH11-1.html#HEADING1-0 Functions]. Functions are also called ''procedures'' when dealing with assembly. You'll find this term used in Randy Hyde's documentation. Also, Hydes uses the '''proc''' and '''endp''' directives to define functions, which is fine. We won't in this class. Functions work just as well without! | ||
Line 411: | Line 418: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 12''' Apr | + | |width="45%"|'''Week 12''' Apr 17, 19, 21 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 419: | Line 426: | ||
{| class="mw-collapsible " style="width:100%" border="1" | {| class="mw-collapsible " style="width:100%" border="1" | ||
|- style="background:#dddddd;" | |- style="background:#dddddd;" | ||
− | |width="60%"| '''Topics''': | + | |width="60%"| '''Topics''': Recursion, fact |
|width="15%"| '''Lab/Hw''' | |width="15%"| '''Lab/Hw''' | ||
|width="25%"| '''Reading''' | |width="25%"| '''Reading''' | ||
Line 426: | Line 433: | ||
* '''Mon/Wed''' | * '''Mon/Wed''' | ||
::* Passing by reference | ::* Passing by reference | ||
+ | ::* Local variables | ||
+ | ::* Recursion | ||
+ | ::* Example1: [[CSC231 Factorial.asm| Computing factorials]] | ||
::* [[Media:CSC231_Week12_2017.pdf| slides (pdf)]] | ::* [[Media:CSC231_Week12_2017.pdf| slides (pdf)]] | ||
* '''Friday''': | * '''Friday''': | ||
− | ::* | + | ::* [[Media:CSC231_IntroToC_2017.pdf|Linux Lab: Introduction to C, Part 3]] |
| | | | ||
* [[CSC231 Homework 8 2017| Homework #8]] (due 4/24/17) | * [[CSC231 Homework 8 2017| Homework #8]] (due 4/24/17) | ||
+ | * [[CSC231 Homework Solutions 2017| Solution program]] | ||
| | | | ||
− | * | + | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH11/CH11-7.html#HEADING7-86 Recursion chapter] in Randy Hall's Art of Assembly. Hall uses 16-bit registers (ax, bx, bp, etc...) but the reasoning is the same as for 32-bit registers. |
|} | |} | ||
<br /> | <br /> | ||
Line 439: | Line 450: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 13''' Apr | + | |width="45%"|'''Week 13''' Apr 24, 26, 28 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 453: | Line 464: | ||
| | | | ||
* '''Mon/Wed''' | * '''Mon/Wed''' | ||
− | ::* | + | ::* Recursion Example 2: [[CSC231_Towers_of_Hanoi | Towers of Hanoi ]] |
+ | ::* [[Stack overflow in Java| Stack overflow in Java; an example]] | ||
+ | ::* Floating Point Numbers | ||
+ | ::* [[GenerateNaN.java| Generating NaNs in Java]] | ||
+ | ::* [[Media:CSC231_Week13_2017.pdf| slides (pdf)]] | ||
* '''Friday''': | * '''Friday''': | ||
− | ::* | + | ::* [[Media:CSC231_IntroToC_2017.pdf|Linux Lab: Introduction to C, Part 4]] |
| | | | ||
− | * | + | * [[CSC231 Optional Homework 9 2017 | Homework 9 (Optional)]] |
+ | <!-- [[CSC231 Homework Solutions 2017| Solution program]] --> | ||
| | | | ||
− | * | + | * [[CSC231_An_Introduction_to_Fixed-_and_Floating-Point_Numbers| Introduction to Floating-Point Numbers]] |
|} | |} | ||
<br /> | <br /> | ||
+ | |||
==== ==== | ==== ==== | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 14''' May | + | |width="45%"|'''Week 14''' May 1, 3 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 473: | Line 490: | ||
{| class="mw-collapsible " style="width:100%" border="1" | {| class="mw-collapsible " style="width:100%" border="1" | ||
|- style="background:#dddddd;" | |- style="background:#dddddd;" | ||
− | |width="60%"| '''Topics''': | + | |width="60%"| '''Topics''': Floating-Point Numbers |
− | |width="15%"| ''' | + | |width="15%"| '''Exam''' |
|width="25%"| '''Reading''' | |width="25%"| '''Reading''' | ||
|-valign="top" | |-valign="top" | ||
| | | | ||
* '''Mon''' | * '''Mon''' | ||
− | ::* | + | ::* Floating Point Numbers |
+ | ::* Recap | ||
+ | ::* [[Media:CSC231_Week14_2017.pdf| slides (pdf)]] | ||
* '''Wednesday''': | * '''Wednesday''': | ||
− | ::* '''Final exam | + | ::* [[Media:CSC231_Week14_2017.pdf| slides (pdf)]] |
+ | ::* [[CSC231 Final Exam 2017| '''Final exam''']]. Take home, open books, open Web, open computers. Due last day of exams. | ||
| | | | ||
− | * | + | * [[CSC231 Final Exam 2017| '''Final exam''']] |
| | | | ||
− | * | + | * [[CSC231_An_Introduction_to_Fixed-_and_Floating-Point_Numbers| Introduction to Floating-Point Numbers]] |
+ | |||
|} | |} | ||
<br /> | <br /> | ||
− | = | + | =Links and Resources= |
<br /> | <br /> | ||
==Pipelines, Branch Prediction, Hyper-Threading== | ==Pipelines, Branch Prediction, Hyper-Threading== | ||
Line 501: | Line 522: | ||
<br /> | <br /> | ||
<br /> | <br /> | ||
+ | </onlydft> | ||
<br /> | <br /> | ||
<br /> | <br /> |
Latest revision as of 19:02, 21 September 2017
--D. Thiebaut (talk) 10:37, 2 December 2016 (EST)
You probably want to be on the CSC231, Fall 2017 page...