Difference between revisions of "CSC231 Schedule Fall 2017"
(→ ) |
(→ ) |
||
(120 intermediate revisions by the same user not shown) | |||
Line 283: | Line 283: | ||
::* Binary addition | ::* Binary addition | ||
::* Binary adder with ''logic gates'' | ::* Binary adder with ''logic gates'' | ||
− | |||
* '''Wednesday''' | * '''Wednesday''' | ||
::* Negative numbers | ::* Negative numbers | ||
+ | ::* [[CSC231_Exercises_on_Signed_Numbers| Exercises on Signed Numbers]] | ||
+ | ::* [[CSC231 Sample Midterm Questions| Sample midterm questions]] to get a feel for the midterm next week... | ||
+ | ::* [[Media:CSC231_slides_week7_F17.pdf| Slides]] | ||
* '''Friday''' | * '''Friday''' | ||
− | ::* Bash lab #6 | + | ::* [[CSC231_Bash_Tutorial_6| Bash lab #6]]: Bash scripts, variables, arithmetic in bash. |
| | | | ||
− | * [[CSC231 Homework 4 Fall 2017| Homework 4]], due 10/23 | + | * [[CSC231 Homework 4 Fall 2017| Homework 4]], due 10/23, and [[CSC231_Homework_4_Fall_2017#Solutions| solution programs]] |
| | | | ||
* 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 318: | Line 320: | ||
| | | | ||
* '''Monday''' | * '''Monday''' | ||
− | * '''Wednesday''' | + | ::* [[CSC231_Exercises_on_Signed_Numbers| Exercises on signed numbers]] |
+ | ::* The '''LOOP''' instruction | ||
+ | ::* [[Media:CSC231_slides_week8_F17.pdf| Slides]] | ||
+ | * '''Wednesday''': <font color="magenta">In-Class Midterm exam. Closed books, closed notes, closed computers.</font>. [[CSC231 Midterm Solution 2017 | Solutions to the Midterm problems]] | ||
* '''Friday''' | * '''Friday''' | ||
− | + | ::* [[CSC231_Bash_Tutorial_7 | Bash Lab #7: If statements]] | |
| | | | ||
| | ||
| | | | ||
− | * | + | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-5.html#HEADING5-294 The LOOP instruction] |
|} | |} | ||
<br /> | <br /> | ||
Line 349: | Line 354: | ||
| | | | ||
* '''Monday''' | * '''Monday''' | ||
+ | ::* Back to the LOOP instruction | ||
+ | ::* Indirect addressing & addressing modes | ||
* '''Wednesday''' | * '''Wednesday''' | ||
+ | ::* Addressing modes | ||
+ | ::* [[Media:CSC231_slides_week9_F17.pdf| Slides]] | ||
* '''Friday''' | * '''Friday''' | ||
+ | ::* [[CSC231_Bash_Tutorial_8 | Bash lab #8 + video introduction]]: Bash functions | ||
| | | | ||
− | + | * [[CSC231 Homework 5 Fall 2017| Homework #5]], due 11/6/2017 at 11:55 p.m. | |
+ | * [[CSC231_Homework_5_Fall_2017#Solutions | Solution programs for Homework #5]] | ||
| | | | ||
− | * | + | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-5.html#HEADING5-294 The Loop Instruction (Section 6.9.6)] |
+ | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH04/CH04-2.html#HEADING2-35 The Register Indirect addressing mode (Section 4.6.2.2)] | ||
+ | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH04/CH04-2.html#HEADING2-35 Other Addressing modes (up to Section 4.6.2.5)] | ||
|} | |} | ||
<br /> | <br /> | ||
Line 379: | Line 392: | ||
|-valign="top" | |-valign="top" | ||
| | | | ||
+ | [[Image:serpinski.png|right|200px]] | ||
* '''Monday''' | * '''Monday''' | ||
+ | ::* Introduction to the Game of Life | ||
* '''Wednesday''' | * '''Wednesday''' | ||
+ | ::* Continue with game of life | ||
+ | ::* Flags register | ||
+ | ::* Jumps and Conditional Jumps | ||
+ | ::* [[Media:CSC231_slides_week10_F17.pdf | Slides]] | ||
* '''Friday''' | * '''Friday''' | ||
+ | ::* [[Media:CSC231_C_Tutorial_2017.pdf | C Tutorial #1]] | ||
| | | | ||
− | + | * [[CSC231 Homework 6 Fall 2017| Homework #6]], due Monday Nov 13 at 11:55 p.m. <br />[[CSC231_Homework_6_Fall_2017#Solution_Assembly_Program| Solution assembly program]]. | |
| | | | ||
− | * | + | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-5.html#HEADING5-3 Unconditional Jump] |
+ | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-1.html#HEADING1-27 The Flags Register] | ||
+ | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-5.html#HEADING5-226 Conditional Jumps] | ||
+ | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-2.html#HEADING2-244 CMP instruction] | ||
+ | |||
|} | |} | ||
<br /> | <br /> | ||
Line 405: | Line 429: | ||
{| 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''': Functions |
|width="15%"| '''Lab/Hw''' | |width="15%"| '''Lab/Hw''' | ||
|width="25%"| '''Reading''' | |width="25%"| '''Reading''' | ||
Line 411: | Line 435: | ||
| | | | ||
* '''Monday''' | * '''Monday''' | ||
+ | ::* Continue with conditional jumps | ||
+ | ::* The Stack segment | ||
+ | ::* Push & Pop instructions | ||
* '''Wednesday''' | * '''Wednesday''' | ||
+ | ::* Functions | ||
+ | ::* [[CSC231 Code Snippets | Examples]] of assembly code. | ||
+ | ::* [[Media:CSC231_slides_week11_F17.pdf | Slides]] | ||
* '''Friday''' | * '''Friday''' | ||
+ | ::* [[Media:CSC231_C_Tutorial_2017.pdf | C Tutorial #2]] | ||
| | | | ||
− | + | * [[CSC231_Homework_7_Fall_2017 | Homework #7]], due <strike>11/20/17</strike> 11/27/17 at 11:55 p.m. | |
+ | <br /> | ||
+ | [[CSC231_Homework_7_Fall_2017#Solutions | Solution programs]] | ||
| | | | ||
− | * | + | * [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! |
+ | |||
|} | |} | ||
<br /> | <br /> | ||
Line 442: | Line 476: | ||
| | | | ||
* '''Monday''' | * '''Monday''' | ||
− | * ''' | + | ::* We continue with functions and passing parameters via the '''stack''' |
− | * '''Friday''' | + | ::* [[Media:CSC231_slides_week12_F17.pdf | Slides]] |
+ | |||
+ | <br /> | ||
+ | [[Image:TurkeyThanksgiving.jpg|right|150px]] | ||
+ | * '''Wednesday/Friday''' <font color="magenta">THANKSGIVING BREAK</font> | ||
| | | | ||
− | + | <font color="magenta">'''No homework assignment this week...''' </font> | |
| | | | ||
− | * | + | * |
|} | |} | ||
<br /> | <br /> | ||
Line 467: | Line 505: | ||
{| 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 |
|width="15%"| '''Lab/Hw''' | |width="15%"| '''Lab/Hw''' | ||
|width="25%"| '''Reading''' | |width="25%"| '''Reading''' | ||
Line 473: | Line 511: | ||
| | | | ||
* '''Monday''' | * '''Monday''' | ||
− | + | [[Image:VideoLogo.png|50px| right | link=https://www.youtube.com/watch?v=Wfrj30cJJ-0]] | |
− | * '''Wednesday | + | ::* Studying a recursive Factorial function: Python, Java, Assembly, stack frame, stack overflow. |
+ | * '''Wednesday | ||
+ | ::* Exploring various issues related to recursion | ||
+ | ::* [[Media:CSC231_slides_week13_F17.pdf | Slides]] | ||
+ | * '''Friday''' | ||
+ | ::* [[Media:CSC231_C_Tutorial_2017.pdf | C Tutorial #3]] | ||
| | | | ||
− | + | * [[CSC231 Homework 8 Fall 2017| Homework #8]], due 12/4/17 @ 11:55 p.m. | |
+ | <br />[[CSC231_Homework_8_Fall_2017#Solution_Program| Solution programs and answers for Homework #8]] | ||
| | | | ||
− | * | + | * [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 485: | Line 530: | ||
WEEK 14 | WEEK 14 | ||
================================================== --> | ================================================== --> | ||
− | + | <br /> | |
==== ==== | ==== ==== | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 14''' | + | |width="45%"|'''Week 14''' Dec. 4 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 498: | Line 543: | ||
{| 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''': Fixed and Floating-Point Numbers |
|width="15%"| '''Lab/Hw''' | |width="15%"| '''Lab/Hw''' | ||
|width="25%"| '''Reading''' | |width="25%"| '''Reading''' | ||
Line 504: | Line 549: | ||
| | | | ||
* '''Monday''' | * '''Monday''' | ||
+ | ::* Fixed-Point Numbers, ''U''(a,b), and ''A''(a, b) | ||
* '''Wednesday''' | * '''Wednesday''' | ||
+ | ::* The Floating-point format | ||
+ | ::* [[Media:CSC231_slides_week14_F17.pdf | Slides]] | ||
* '''Friday''' | * '''Friday''' | ||
+ | ::* [[Media:CSC231_C_Tutorial_2017.pdf | C Tutorial #4]] | ||
| | | | ||
− | + | * [[CSC231_Homework_9_Fall_2017 |Homework 9]] is a make-up homework that can be used to replace the grade of Homework 1 to Homework 8. | |
+ | <br /> | ||
+ | * [[CSC231_Homework_9_Fall_2017#Solution_Programs | Solution programs]] for Homework 9. | ||
| | | | ||
− | * | + | * [http://www.science.smith.edu/dftwiki/index.php/CSC231_An_Introduction_to_Fixed-_and_Floating-Point_Numbers Fixed and Floating-point number formats] |
|} | |} | ||
<br /> | <br /> | ||
Line 521: | Line 572: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 15''' Dec. | + | |width="45%"|'''Week 15''' Dec. 11 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 534: | Line 585: | ||
|-valign="top" | |-valign="top" | ||
| | | | ||
− | * '''Monday | + | * '''Monday, Wednesday''' |
− | + | ::* Floating Point operations | |
− | * | + | ::* [[Media:CSC231_slides_week15_F17.pdf | Slides]] |
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | | | ||
<br /> | <br /> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| | | | ||
− | * | + | * [[CSC231 Final Exam Fall 2017 | Final take-home exam]] is given out on <font color="magenta">Wednesday</font>. Due a week later. |
− | |||
− | |||
− | |||
− | |||
− | |||
| | | | ||
− | * | + | * [[CSC231_An_Introduction_to_Fixed-_and_Floating-Point_Numbers | Fixed and Floating-point number formats]] |
|} | |} | ||
<br /> | <br /> |
Latest revision as of 18:35, 6 January 2018
--D. Thiebaut (talk) 11:33, 11 July 2017 (EDT)
Week 1 Sept. 8 |
Topics: Introduction | Lab/Hw | Reading |
|
|
|
Week 2 Sept. 11 |
Topics: | Lab/Hw | Reading |
|
|
Week 3 Sept. 18 |
Topics: | Lab/Hw | Reading |
|
|
|
Week 4 Sept. 25 |
Topics: | Lab/Hw | Reading |
|
|
|
Week 5 Oct. 2 |
Topics: | Lab/Hw | Reading |
|
|
|
Week 6 Oct. 9 |
Topics: | Lab/Hw | Reading |
|
|
|
Week 7 Oct. 16 |
Topics: | Lab/Hw | Reading |
|
|
|
Week 8 Oct. 23 |
Topics: | Lab/Hw | Reading |
|
|
Week 9 Oct. 30 |
Topics: | Lab/Hw | Reading |
|
|
Week 10 Nov. 6 |
Topics: | Lab/Hw | Reading |
|
|
Week 11 Nov. 13 |
Topics: Functions | Lab/Hw | Reading |
|
|
|
Week 12 Nov. 20 |
Topics: | Lab/Hw | Reading |
|
No homework assignment this week... |
|
Week 13 Nov. 27 |
Topics: Recursion | Lab/Hw | Reading |
|
|
|
Week 14 Dec. 4 |
Topics: Fixed and Floating-Point Numbers | Lab/Hw | Reading |
|
|
Week 15 Dec. 11 |
Topics: | Lab/Hw | Reading |
|
|