Difference between revisions of "Weekly Schedule 20133 - OOP344"
(official due date for assignment has been posted by Fardad in Application page) |
|||
(209 intermediate revisions by 47 users not shown) | |||
Line 19: | Line 19: | ||
* Object Orientation Review | * Object Orientation Review | ||
* C Review | * C Review | ||
+ | *: main Function return value | ||
*: pointers | *: pointers | ||
*: pointers and arrays | *: pointers and arrays | ||
Line 48: | Line 49: | ||
=== Resources 1 === | === Resources 1 === | ||
− | * [http://etherpad.proximity.on.ca:9001/p/oop344_20133B-1 | + | * [http://etherpad.proximity.on.ca:9001/p/oop344_20133B-1 Etherpad] |
* Git | * Git | ||
** [http://git-scm.com/book Pro-git book] | ** [http://git-scm.com/book Pro-git book] | ||
Line 76: | Line 77: | ||
==Week 2 - Sep 10== | ==Week 2 - Sep 10== | ||
+ | |||
===This Week 2=== | ===This Week 2=== | ||
Line 86: | Line 88: | ||
** Operators | ** Operators | ||
** Dynamic Memory | ** Dynamic Memory | ||
+ | ** pre-processor directives | ||
* Git review (Lab) | * Git review (Lab) | ||
Line 93: | Line 96: | ||
===To Do 2=== | ===To Do 2=== | ||
+ | *If you have not already, request an account on this wiki (admin email can be found on wiki login page, top right of the screen) | ||
+ | *Add your information to [[Student List 20133 - OOP344|The Student List]] as soon as possible | ||
+ | <br /> | ||
+ | *Git Exercise: ([https://help.github.com/articles/generating-ssh-keys You need to generate an SSH key before you can do this exercise]) | ||
+ | ** Fork the [https://github.com/Seneca-OOP344/Exercise1 exercise 1 repo from github] into your account | ||
+ | ** Clone the repo in your account to your local machine | ||
+ | ** Open the solution in Visual Studio 2012 | ||
+ | ** Find the errors in the program and fix them (Discussing this on the IRC channel is encouraged, but supplying answers is frowned upon) | ||
+ | ** Check your output against the [[oop344-ex1-output]] to be sure you corrected the program properly | ||
+ | ** Once complete, add the file to your git stage and commit it with a message that details what you did to fix the program | ||
+ | ** Push the commit back to your git repository | ||
+ | |||
===Resources 2=== | ===Resources 2=== | ||
* Single resource that will give you all the knowledge you need about pointers, including information given in the last two classes. WARNING! Reading online tutorials is NOT a substitute to visiting in-class lectures. | * Single resource that will give you all the knowledge you need about pointers, including information given in the last two classes. WARNING! Reading online tutorials is NOT a substitute to visiting in-class lectures. | ||
Line 107: | Line 122: | ||
*: [https://www.youtube.com/watch?v=ZBJoGKVnZYI C++ Function Pointers]. | *: [https://www.youtube.com/watch?v=ZBJoGKVnZYI C++ Function Pointers]. | ||
*: [http://www.learncpp.com/cpp-tutorial/78-function-pointers/ C++ Function Pointers in detail]. | *: [http://www.learncpp.com/cpp-tutorial/78-function-pointers/ C++ Function Pointers in detail]. | ||
+ | |||
+ | ==Week 3 - Sep 17== | ||
+ | |||
+ | ===This Week 3=== | ||
+ | |||
+ | * pre-processor directives | ||
+ | ** macros | ||
+ | ** Conditional Compilation | ||
+ | * Operators | ||
+ | ** logical | ||
+ | ** lazy eval | ||
+ | * consts | ||
+ | ** values | ||
+ | ** pointers | ||
+ | ** methods | ||
+ | * void pointers | ||
+ | * default args | ||
+ | * typedef, (including C usage) | ||
+ | * namespace | ||
+ | |||
+ | ===To Do 3=== | ||
+ | * Write a program called basicMath: | ||
+ | $ bm 2 + 3<Enter> | ||
+ | $ 5 | ||
+ | $ bm 2 x 3<Enter> | ||
+ | $ 6 | ||
+ | $ bm Heehaw the hoohoo<Enter> | ||
+ | $ bm <number> <+-x/> <number><ENTER> | ||
+ | |||
+ | * Write a function that receives the env[] array and an environment variable name and returns the value. | ||
+ | * Write a function called strncat that concats several strings | ||
+ | strncat(des, "Hello", " I am ", "testing ", "this!", 0); | ||
+ | |||
+ | Code these, blog and discuss it.... | ||
+ | [http://www.example.com link title] | ||
+ | |||
+ | {{collapsible header|Blog Posts 3|3|collapsed}} | ||
+ | * [http://blog.fardad.com/2013/09/basic-math-challege-oop344.html Fardad's hint on basicMath] | ||
+ | *Wei-Hao Lo's Solution for basicMath Problem. | ||
+ | *:[https://github.com/weiLo/BaseMath/blob/master/basicMath.cpp Wei-Hao Lo's Code] | ||
+ | *Here is my Solution to basicMath problem: | ||
+ | *:[http://adamsharpe8.blogspot.ca/2013/09/basic-math.html Adam's Blog] | ||
+ | *:Zhen's slight improvement to Adam's code | ||
+ | *:[http://zenoop344.blogspot.ca/2013/09/improvement-to-adams-code.html Adam's code] | ||
+ | *Andrew's Solution for basicMath problem: | ||
+ | *:[http://adaniele87.tumblr.com/ Andrew's Blog] | ||
+ | *:Len's slight improvement to Andrew's code | ||
+ | *:[http://lenisac.wordpress.com/2013/09/21/week-3-basic-math/ Len's code] | ||
+ | *Zach's Solution for basicMath problem: | ||
+ | *:[http://zachdhoward.wordpress.com/2013/09/20/include-stdio/ Zach's Blog] | ||
+ | *Zhen's Solution for basicMath problem: | ||
+ | *:[http://zenoop344.blogspot.ca/2013/09/include-include-include-int-mainint.html Zhen's code] | ||
+ | *:Ragu's slight modification to Zhen's code | ||
+ | *:[http://ragu-oop344.blogspot.ca/2013/09/modification-to-zhens-basic-math-program.html Ragu's Code] | ||
+ | *Sehui's Solution for basicMath problem: | ||
+ | *:[http://mikesayhi.wordpress.com/2013/09/21/to-do-3-basic-math/ Sehui's code] | ||
+ | *Mohammad's Solution for basicMath problem: | ||
+ | *:[http://m-aryafar.blogspot.ca/2013/09/basic-math.html Link to code] | ||
+ | *Kirill's Solution for basicMath problem: | ||
+ | *:[http://asapcpp.tumblr.com/post/61967592711/basicmath Kirill's code] | ||
+ | *Brad's Solution for basicMath problem: | ||
+ | *:[http://bradc14.wordpress.com/2013/09/22/week-3-excercise/ Brad's Blog] | ||
+ | *Dima's Solution for basicMath problem: | ||
+ | *:[http://rudeshko.net/blog/?p=9 Dima's Code] | ||
+ | *Qin's Solution for basicMath problem: | ||
+ | *:[http://janty001.wordpress.com/2013/09/22/qins-solution-for-basicmath-problem/ Qin's Blog] | ||
+ | *Benson's Solution for basicMath problem: | ||
+ | *:[http://wongbsn.blogspot.ca/2013/09/oop344-basic-math.html Benson's Blog] | ||
+ | *Luke Jingwei Sun@YorkBuster's Solution for the BasicMath problem: | ||
+ | *:[http://blog.xparthas.com/?p=393 ParBlog] | ||
+ | Takes advantage of: | ||
+ | *:GitHub | ||
+ | *:Object Oriented Concepts which include the class | ||
+ | *:Preprocessor macro | ||
+ | *:Namespace | ||
+ | *:[https://github.com/Parthas-Menethil/basicMath GitHub source code of all stages(Feel free to folk and improve)] | ||
+ | *Dimple's solution for basicmath problem | ||
+ | *:[http://dimpleamin204.blogspot.ca/2013/09/following-is-my-solution-for-basicmath.html SecA:Dimple Amin] | ||
+ | *Roman's solution for basicmath problem | ||
+ | *:[http://rkorostelev.wordpress.com/2013/09/24/basicmath-program Roman's Blog] | ||
+ | *Hyunsu Lee's solution for basicmath problem | ||
+ | *:[http://lliillaa50.blogspot.ca/ Noname] | ||
+ | *Justin Chow's magnificent solution to the basicmath problem | ||
+ | *:[http://jachow1.wordpress.com/2013/09/24/solution-to-basicmath/ Justin's answer] | ||
+ | *Yunki Lee's solution for basicmath problem | ||
+ | *:[http://ylee80.blogspot.ca/ Yunki's Blog] | ||
+ | *Andrey's solution for basicmath problem | ||
+ | *:[http://andreybarkov.tumblr.com/ Andrey's Blog] | ||
+ | *Dmitry's solution for basicmath problem | ||
+ | *:[http://dimon222-zone.blogspot.ca/2013/10/basicmath-implementation-on-c.html Dmitry's Blog] | ||
+ | *Nak Gui's solution for basicmath problem | ||
+ | *:[http://freeppro.blogspot.ca/2013/09/basic-math.html Nak Gui's Blog] | ||
+ | *Haysean's solution for basicMath problem | ||
+ | *:[http://codegenetix.blogspot.com/2013/09/basicMath.html Haysean's Blog] | ||
+ | *Ruojia's solution for basicMath problem | ||
+ | *:[http://avoinchen.wordpress.com/2013/09/28/basicmath/ Ruojia's Blog] | ||
+ | *Koghu's solution for basicMath problem | ||
+ | *:[http://koghu1.wordpress.com/2013/09/29/command-line-argument-basic-math/ Koghu's Blog] | ||
+ | *Gabriel's solution for basicMath problem | ||
+ | *:[http://gabrielgaglianone.tumblr.com/day/2013/09/30/ Gabriel's Blog] | ||
+ | *Lina's solution for basicMath problem | ||
+ | *:[http://linajung.blogspot.ca/2013_10_01_archive.html Gyeongmin (Lina)'s Blog] | ||
+ | *Dima's solution for basicMath problem | ||
+ | *:[http://hamabama.ru/blog/basicmath.html Dmitry Yastremskiy's Blog] | ||
+ | *Dima's solution for environmental variables function | ||
+ | *:[http://hamabama.ru/blog/env.html Dmitry Yastremskiy's Blog] | ||
+ | *Hoon's solution for basicMath problem | ||
+ | *:[http://eseol.blogspot.ca/2013/10/basicmath-c-program.html Euihoon (Hoon)'s Blog] | ||
+ | *Kamlesh's solution for basicMath problem | ||
+ | *:[http://kamleshkorat.wordpress.com/2013/10/ Kamlesh Korat's Blog] | ||
+ | *Shaohua's solution for basicMath problem | ||
+ | *:[http://shliu2.wordpress.com/2013/10/06/basicmath-c/ Shao's Blog] | ||
+ | *Justin Sean Wilkin's solution | ||
+ | *:[http://jswilkin.wordpress.com/2013/09/24/basicmath/ BasicMath on Justin's Blog] | ||
+ | |} | ||
+ | |||
+ | ===Resources 3=== | ||
+ | * Void Pointers | ||
+ | *: [http://www.youtube.com/watch?v=o9wVGiqm54I Using void pointers (YouTube Video)] | ||
+ | |||
+ | * macros - Variable arguments list | ||
+ | *:http://www.cplusplus.com/reference/cstdarg/va_arg/ | ||
+ | |||
+ | *Command Line Arguments | ||
+ | *:http://www.cprogramming.com/tutorial/lesson14.html | ||
+ | *:http://www.thegeekstuff.com/2013/01/c-argc-argv/ | ||
+ | |||
+ | ==Week 4 - Sep 24== | ||
+ | |||
+ | ===This Week 4=== | ||
+ | * Project introduction | ||
+ | * [http://lisyonok85.wordpress.com/2013/05/29/project/ Project Diagram (as drawn in class)] | ||
+ | *: bio, cio | ||
+ | * Declaration modifiers | ||
+ | *: auto (C++ 11) | ||
+ | *: [http://www.learncpp.com/cpp-tutorial/811-static-member-variables/ static] | ||
+ | *: [http://www.learncpp.com/cpp-tutorial/42-global-variables/ extern] | ||
+ | *: const (pointers, methods, variables) | ||
+ | * [http://faculty.cs.niu.edu/~mcmahon/CS241/Notes/compile.html compilation process] | ||
+ | *Real Signature of main() | ||
+ | *Variable Argument list | ||
+ | |||
+ | ===To Do 4=== | ||
+ | *Download project from github (do not fork, your code must remain private) | ||
+ | |||
+ | {{collapsible header|Blog Posts 4|3|collapsed}} | ||
+ | |} | ||
+ | |||
+ | ===Resources 4=== | ||
+ | * [https://github.com/Seneca-OOP344/20133notes/tree/master/SecB/06-Sep24/CIO CIO Library] | ||
+ | ** contains the bconsole.h and bconsole.cpp files for the assignment, also contains a start to the assignment with a near complete console.h file and a non-finalized version of the display method, and a rough skeleton of the edit method | ||
+ | ==Week 5 - Oct 01== | ||
+ | |||
+ | ===This Week 5=== | ||
+ | * Pointers (function pointers) | ||
+ | * DMA continued | ||
+ | * [http://www.learncpp.com/cpp-tutorial/122-virtual-functions/ Virtuals] | ||
+ | *: Review | ||
+ | *: Pure Virtual [http://www.learncpp.com/cpp-tutorial/126-pure-virtual-functions-abstract-base-classes-and-interface-classes/ Pure Virtual & Abstract Base Classes] | ||
+ | *: Abstract Base Classes | ||
+ | * team assignments | ||
+ | *: github private repos | ||
+ | * Project introduction | ||
+ | |||
+ | ===To Do 5=== | ||
+ | * Release 0.1 (the Console class) is due Wednesday Oct 09 23:59 | ||
+ | *: Details of how to submit will be announced later | ||
+ | |||
+ | {{collapsible header|Blog Posts 5|3|collapsed}} | ||
+ | *[http://adaniele87.tumblr.com/post/63099194354/drive-a-car-with-your-display-method Andrew Daniele's Car blog] | ||
+ | **the main.cpp code in this blog post will use your display method to drive a car around in the terminal | ||
+ | |} | ||
+ | |||
+ | ===Resources 5=== | ||
+ | *:[http://www.cprogramming.com/tutorial/function-pointers.html Function Pointers] | ||
+ | *:[http://www.programmerinterview.com/index.php/c-cplusplus/pure-virtual-function/ Pure Virtual] | ||
+ | ==Week 6 - Oct 08== | ||
+ | |||
+ | ===This Week 6=== | ||
+ | * Linked Lists | ||
+ | |||
+ | ===To Do 6=== | ||
+ | * Challenge | ||
+ | *: do depth() copy constructor and reverse() for the stack in oct 08 lecture code: [https://github.com/Seneca-OOP344/20133notes/tree/master/SecB/10-Oct08 secB Oct08] | ||
+ | * reverse() is supposed to make stack in reversed order (Dmitry Romanenko) | ||
+ | |||
+ | {{collapsible header|Blog Posts 6|3|collapsed}} | ||
+ | *Here is my solution to the stack copy constructor, and reverse stack problems: | ||
+ | *:[http://adamsharpe8.blogspot.ca/2013/10 Adam's Blog] | ||
+ | *Jesse's reverse() function for a Stack | ||
+ | *:[http://www.m-i-rite.com/reversing-a-stack-in-c/ Jesse's Blog] | ||
+ | *Yu Zhu Zhao's stack copy constructor and reverse() function | ||
+ | *:[http://yzhao91.wordpress.com/2013/10/09/stack-copy-constructor/ Copy Constructor] | ||
+ | *:[http://yzhao91.wordpress.com/2013/10/09/reverse/ Reverse] | ||
+ | *unsigned int Stack::depth() - method used the source from the lecture | ||
+ | *:[http://jungminwp.wordpress.com/2013/10/09/unsigned-int-stackdepth-check-how-many-elements/ Stack::depth()] | ||
+ | *Mohammad's Copy Constructor and reverse() method | ||
+ | *:[http://m-aryafar.blogspot.ca/2013/10/reverse-and-copy-constructor.html Mohammad's Blog] | ||
+ | *Sehui Park's Copy Constructor/ depth() / reverse() | ||
+ | *:[http://mikesayhi.wordpress.com/2013/10/10/copy-construct-depth-reverse/ Sehui's Blog] | ||
+ | *Nak Gui Choi's Copy Constructor/ depth() / reverse() | ||
+ | *:[http://freeppro.blogspot.ca/2013/10/copy-constructor-reverse-depth-in.html#!/2013/10/copy-constructor-reverse-depth-in.html Nak Gui Choi's Blog] | ||
+ | *Ragu's Stack Copy Constructor, depth() method, and reverse() method | ||
+ | *:[http://ragu-oop344.blogspot.ca Ragu's Linked List Blog Post] | ||
+ | *Yunki Lee's solution for Stacked Link Lists | ||
+ | *:[http://ylee80.blogspot.ca/ Yunki's Blog] | ||
+ | *Benson's solution for the copy constructor, depth(), and reverse() | ||
+ | *:[http://wongbsn.blogspot.ca/2013/10/what-busy-week-with-tests-assignments.html Benson's Blog] | ||
+ | *Haysean's solution for the copy construcor, depth() method and reverse() method | ||
+ | *:[http://codegenetix.blogspot.ca/2013/10/stack.html Haysean's Blog] | ||
+ | *fabj2's blog post about linked list (sec. c) | ||
+ | *:[http://ftseneca.wordpress.com/2013/10/16/linked-lists/ Fabj2's Blog] | ||
+ | *Kyno's blog about linked list (Sec. C) | ||
+ | *:[http://objectoriented344.blogspot.ca/ Kyno's Blog] | ||
+ | |} | ||
+ | |||
+ | ===Resources 6=== | ||
+ | |||
+ | *Linked Lists: http://www.cprogramming.com/tutorial/lesson15.html | ||
+ | *Linked Lists (video): http://www.youtube.com/watch?v=o5wJkJJpKtM&sns=em | ||
+ | |||
+ | ==Week 7 - Oct 15== | ||
+ | |||
+ | ===This Week 7=== | ||
+ | * Project review | ||
+ | * Templates | ||
+ | * Linked lists | ||
+ | |||
+ | ===To Do 7=== | ||
+ | * Convert the dynamic integer array, done in class([https://github.com/Seneca-OOP344/20133notes/blob/master/SecB/09-Oct04/intarray6.cpp intArray] OR [https://github.com/Seneca-OOP344/20133notes/blob/master/SecA/09-Oct07/arrayOfIntArrays.cpp Array Of intArray]), to a template and blog about it. | ||
+ | |||
+ | {{collapsible header|Blog Posts 7|3|collapsed}} | ||
+ | *Benson's template for Array of intArray | ||
+ | *:[http://wongbsn.blogspot.ca/2013/10/introduction-to-templates.html Benson's Blog] | ||
+ | |||
+ | |} | ||
+ | |||
+ | ===Resources 7=== | ||
+ | ==Week 8 - Oct 22 (STUDY break)== | ||
+ | |||
+ | ===This Week 8=== | ||
+ | |||
+ | ===To Do 8=== | ||
+ | |||
+ | {{collapsible header|Blog Posts 8|3|collapsed}} | ||
+ | *Thana's Doubly Linked List - No Iter yet(Sec C) | ||
+ | *:[http://bwafflesoop344.blogspot.ca/2013/10/doubly-linked-list.html Thana's Blog] | ||
+ | |||
+ | *DLL exercise (Xu Liu) _Sec C | ||
+ | ** still have issues with iterator working with list(2013-10-21) | ||
+ | ** after re-implementing, it seems work(2013-10-25) | ||
+ | *:[http://eric506.wordpress.com/2013/10/21/oop344_exercise-doubly-linked-list-iterator/ eric506 | Blog for OOP344] | ||
+ | |||
+ | *Doubly Linked lists - Justin Chow | ||
+ | **Will not protect against crazy stuff you do in the main. | ||
+ | *:[http://jachow1.wordpress.com/ Techno-Mega blog] | ||
+ | |||
+ | *Doubly - Fabj2 (section c) | ||
+ | *:[http://ftseneca.wordpress.com/2013/10/25/9/ fabj2 blog] | ||
+ | |||
+ | *Doubly Linked List with Iterator (Luke Jingwei Sun@Section C) | ||
+ | ** A simulation to the standard iterator and list. | ||
+ | *:[http://blog.xparthas.com/?p=410 ParBlog] | ||
+ | |||
+ | *My attempt at a Doubly Linked List ( Brad Clement - Section C ) | ||
+ | *:[http://bradc14.wordpress.com/ Brad's Blog] | ||
+ | |} | ||
+ | |||
+ | ===Resources 8=== | ||
+ | |||
+ | ==Week 9 - Oct 29== | ||
+ | * Section AB: | ||
+ | ** Initializing vs Setting/Assigning Objects | ||
+ | * Section C: | ||
+ | ** Linked List Review | ||
+ | ** Templates | ||
+ | |||
+ | ===This Week 9=== | ||
+ | * Test One | ||
+ | *# Section A and B | ||
+ | *#: Section A, Nov 4th | ||
+ | *#: Section B, Nov 1st | ||
+ | *#: References Allowed: 2 bound packs of paper (i.e. text book and class notes) Single sheets not allowed. | ||
+ | *#: what is going to be on the test? | ||
+ | *#: everything from ipc144 to linked lists in oop344 | ||
+ | *# Section C: | ||
+ | |||
+ | ===To Do 9=== | ||
+ | |||
+ | {{collapsible header|Blog Posts 9|3|collapsed}} | ||
+ | |} | ||
+ | |||
+ | ===Resources 9=== | ||
+ | |||
+ | ==Week 10 - Nov 5== | ||
+ | |||
+ | ===This Week 10=== | ||
+ | * Section AB: | ||
+ | ** Casting | ||
+ | *** Overload Casting | ||
+ | ** Linked List w/ Templates | ||
+ | * Section C: | ||
+ | ** Templates Continued | ||
+ | ** Template Specialization | ||
+ | ** typename | ||
+ | ** Enums | ||
+ | ** Nested Classes | ||
+ | |||
+ | ===To Do 10=== | ||
+ | Section C Exercise: [https://scs.senecac.on.ca/~jp.hughes/?q=node/14 CYODT EX1]<br /> | ||
+ | Section C Exercise: [https://scs.senecac.on.ca/~jp.hughes/?q=node/15 CYODT EX2] | ||
+ | |||
+ | {{collapsible header|Blog Posts 10|3|collapsed}} | ||
+ | *Kyno's Workshop Templates - (Sec C) | ||
+ | *:[http://objectoriented344.blogspot.ca/2013/11/templates-practice.html Kyno's Blog] | ||
+ | |} | ||
+ | |||
+ | ===Resources 10=== | ||
+ | |||
+ | ==Week 11 - Nov 12== | ||
+ | |||
+ | ===This Week 11=== | ||
+ | * Section AB: | ||
+ | ** Bitwise Operators | ||
+ | ** Exceptions | ||
+ | *** Try | ||
+ | *** Throw | ||
+ | *** Catch | ||
+ | * Section C: | ||
+ | ** Implicit Casting Operators | ||
+ | ** std::string | ||
+ | ** std::vector | ||
+ | ** stl iterators | ||
+ | ** stl algorithms | ||
+ | ** Recursion | ||
+ | ** Introduction to multiple inheritance | ||
+ | |||
+ | ===To Do 11=== | ||
+ | *Section C Exercise: [https://scs.senecac.on.ca/~jp.hughes/?q=node/16 CYODT EX3] | ||
+ | |||
+ | {{collapsible header|Blog Posts 11|3|collapsed}} | ||
+ | * Binary to Decimal conversion http://lenisac.wordpress.com/2013/11/16/binary-to-decimal-conversion-program/ | ||
+ | * Integers/Floats to Binary conversion: | ||
+ | *:[http://wongbsn.blogspot.ca/2013/11/integer-and-floating-point-numbers-to.html Benson's Blog] | ||
+ | *[http://adaniele87.tumblr.com/post/67169380864/binary-operators Bitwise Operators I], [http://adaniele87.tumblr.com/post/67205107136/binary-operators-ii-reverse-bits Bitwise Operators II], [http://adaniele87.tumblr.com/post/67667784656/binary-operators-iii-add-subtract-using-binary Bitwise Operators III] I wrote this to practice bitwise operators, feel free to play around with it for your own practice | ||
+ | * Bit class http://yzhao91.wordpress.com/2013/11/29/bit-class/ | ||
+ | |||
+ | |} | ||
+ | |||
+ | ===Resources 11=== | ||
+ | |||
+ | *Templates - YouTube link (Bucky's C++ Programming Tutorials, videos 58-61): http://www.youtube.com/watch?v=W0aoAm6eYSk | ||
+ | *[http://www.youtube.com/watch?v=XykJzVbrf3s Application of Bitwise Operations] very good video on bitwise operators | ||
+ | |||
+ | ==Week 12 - Nov 19== | ||
+ | |||
+ | ===This Week 12=== | ||
+ | *Section ABC: | ||
+ | **Multiple Inheritance | ||
+ | ***Memory Structures | ||
+ | ***Diamond Inheritance | ||
+ | ***Virtual Inheritance | ||
+ | ***Template Inheritance(Section C) | ||
+ | *Section AB: | ||
+ | **fstream | ||
+ | ***read/write files | ||
+ | ***copying files | ||
+ | ***binary vs text | ||
+ | *Section C: | ||
+ | **Exceptions Intro | ||
+ | ***throw | ||
+ | ***try | ||
+ | ***catch | ||
+ | |||
+ | ===To Do 12=== | ||
+ | |||
+ | {{collapsible header|Blog Posts 12|3|collapsed}} | ||
+ | * Benson's Blog: [http://wongbsn.blogspot.ca/2013/11/a-class-for-bits.html Bit Pattern Class], [http://wongbsn.blogspot.ca/2013/11/set-bits-function.html setBits function] | ||
+ | * Andrew's Blog: [http://adaniele87.tumblr.com/post/67845189283/bitwise-operators-challenge-v2 Bitwise Operators Challenge] | ||
+ | |||
+ | * Adam's Blog: [http://adamsharpe8.blogspot.ca/2013/11/templated-bits-class.html Templated Bits class] | ||
+ | * Len's Blog: [http://lenisac.wordpress.com/2013/11/26/added-binarybitwise-operators-program-to-github/ Bitwise Operators blog], [https://github.com/lkisac/My-Programs/tree/master/BinaryOperators/BinaryOperators github program link] | ||
+ | * Ragu's Blog: [http://ragu-oop344.blogspot.ca/ My BitsPattern Blog Post] | ||
+ | |||
+ | |||
+ | |||
+ | |} | ||
+ | |||
+ | ===Resources 12=== | ||
+ | |||
+ | * A good tool for viewing and editing binary files: [http://www.hhdsoftware.com/ Free Hex Editor Neo] | ||
+ | |||
+ | ==Week 13 - Nov 26== | ||
+ | |||
+ | ===This Week 13=== | ||
+ | *Section AB: | ||
+ | **Test 2: | ||
+ | **:[https://github.com/Seneca-OOP344/20133notes/tree/master/SectAB-Shared/test2 Test 2 solution on Github] | ||
+ | **Friday Class is canceled! | ||
+ | **BigBlueButton help sessions will be on Saturday and Sunday, (Time will be announced Later) | ||
+ | *Section C: | ||
+ | **Exceptions (Cont) | ||
+ | ***Exception classes | ||
+ | ***Multiple Catches | ||
+ | **New Keywords | ||
+ | ***inline | ||
+ | ***union | ||
+ | **Constrained Casting | ||
+ | ***const_cast | ||
+ | ***static_cast | ||
+ | ***dynamic_cast | ||
+ | ***reinterpret_cast | ||
+ | **Bit-Wise Operators | ||
+ | ***and ( & ) | ||
+ | ***or ( | ) | ||
+ | ***xor ( ^ ) | ||
+ | ***negate ( ~ ) | ||
+ | ***left bit shift ( << ) | ||
+ | ***right bit shift ( >> ) | ||
+ | **Binary File Access | ||
+ | ***ios::binary | ||
+ | ***Casting to and from byte arrays | ||
+ | |||
+ | ===To Do 13=== | ||
+ | |||
+ | {{collapsible header|Blog Posts 13|3|collapsed}} | ||
+ | * Kirill's Blog - [http://asapcpp.tumblr.com/post/68215930927/int-bitpattern-int-val-int-pos-int-b CopyPattern] [http://asapcpp.tumblr.com/post/68223239367/bit-h bit.h] [http://asapcpp.tumblr.com/post/68223197605/bit-cpp bit.cpp] | ||
+ | * Dmitry's Blog - [http://dimon222-zone.blogspot.ca/2013/11/copypattern-from-byte-to-integer.html CopyPattern from byte to integer] | ||
+ | *Jan's Blog - [http://paradoxmeltdown.blogspot.ca/2013/11/oop344-bit-class-exercise.html Bit Class] | ||
+ | *Andrew's Blog - [http://adaniele87.tumblr.com/post/68219102345/study-help-oop344-sec-ab Study guide.. possibly?] | ||
+ | *Len's Blog - [http://lenisac.wordpress.com/2013/11/30/inputoutput-practice-using-fstream/ fstream practice programs] | ||
+ | *Yu Zhu Zhao's blog - [http://yzhao91.wordpress.com/2013/12/03/templates-and-files/ File practice] | ||
+ | |} | ||
+ | |||
+ | ===Resources 13=== | ||
+ | |||
+ | * [http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8a.doc%2Flanguage%2Fref%2Fcplr134.htm Multiple Inheritance: Introduction] | ||
+ | * [http://www.cprogramming.com/tutorial/virtual_inheritance.html Multiple Inheritance: Virtual Inheritance] | ||
+ | |||
+ | ==Week 14 - Dec 3== | ||
+ | |||
+ | ===This Week 14=== | ||
+ | |||
+ | ===To Do 14=== | ||
+ | |||
+ | ===Resources 14=== | ||
+ | |||
+ | ==Exam Week == | ||
+ | * Wednesday Dec 11th, at 11:30 | ||
+ | *: OOP344AB, Room: S3031 | ||
+ | *: OOP344C, Room: S2148 | ||
+ | |||
+ | * Reference sheets? | ||
+ | ** 2 sets of bound notes (book + notes) allowed | ||
+ | ** Should be set (stapled papers or whatever) |
Latest revision as of 12:17, 10 December 2013
OOP344 | Weekly Schedule | Student List | Teams | Project | Student Resources
Under construction!
Contents
Week 1 - Sep 3
This Week 1
- Introduction to Open Source development.
- Collaboration Tools:
- Wiki
- Blog
- IRC
- Code Repository
- Git, Svn, ....
- Big Blue Button
- Etherpad
- Object Orientation Review
- C Review
- main Function return value
- pointers
- pointers and arrays
To Do 1
Due Sep 6th (Friday) 18:00
- Create an account on github
- Make sure your account name is presentable. This name will stay with you forever.
- Make sure your information on github is complete (real name, email, etc...)
- Send ONE email to me(Fardad) containing your git hub id
- subject of the email should be 344Github20133
- email content
- name: Your Name (exactly as it appears on your Seneca student card)
- nickname: Your Nick name (how friends usually call you)
- Git hub ID: your Github id
Due by Sep 8th, 23:59
- Create a blog (anywhere you like or use the one you already have)
- Join the IRC by registering your nickname on freenode server and joining the #seneca-oop344 channel for 344 related dialog
- Additional channels of interest: #seneca to interact with all Seneca students participating in opensource projects, and #seneca-social for Social (off-topic) dialog.
- Read Pro-git book
- Chapter One and Chapter Two
- Create an account on this wiki: send an email to cdot-wiki-admin@senecac.on.ca and ask for an account, an email will be sent back to you with your userid and a temporary password; make sure you have the following included in your email.
- Email subject: Wiki Account Request
- The subject you are enrolled in: "OOP344"
- Your Seneca user id
- Send this email from your Seneca Account only
- Learn how to do basic editing in a wiki
Resources 1
- Etherpad
- Git
- Pro-git book
- GIT for OOP344 Projects
- Great 15 minutes tutorial that will give you basic understanding of Git
- Git GUI Client for Mac
- Github Client for Windows
- Generating SSH keys for github
- Wiki
- How to register your IRC nickname on freenode
- Compare IRC clients
- How To edit Wiki pages
- How To edit Wiki Cheatsheet
- Blogs
- IRC:
- Clients:
- How to Install XChat
- IRC Basic Commands
Week 2 - Sep 10
This Week 2
- C++ Review (Lecture)
- Pointers and arrays
- Object Orientation
- Classes and privacy
- Helpers and Friends
- Inheritance and polymorphism
- Operators
- Dynamic Memory
- pre-processor directives
To Do 2
- If you have not already, request an account on this wiki (admin email can be found on wiki login page, top right of the screen)
- Add your information to The Student List as soon as possible
- Git Exercise: (You need to generate an SSH key before you can do this exercise)
- Fork the exercise 1 repo from github into your account
- Clone the repo in your account to your local machine
- Open the solution in Visual Studio 2012
- Find the errors in the program and fix them (Discussing this on the IRC channel is encouraged, but supplying answers is frowned upon)
- Check your output against the oop344-ex1-output to be sure you corrected the program properly
- Once complete, add the file to your git stage and commit it with a message that details what you did to fix the program
- Push the commit back to your git repository
Resources 2
- Single resource that will give you all the knowledge you need about pointers, including information given in the last two classes. WARNING! Reading online tutorials is NOT a substitute to visiting in-class lectures.
- Type Casing in C++.
- Void Type
- Function Pointers
Week 3 - Sep 17
This Week 3
- pre-processor directives
- macros
- Conditional Compilation
- Operators
- logical
- lazy eval
- consts
- values
- pointers
- methods
- void pointers
- default args
- typedef, (including C usage)
- namespace
To Do 3
- Write a program called basicMath:
$ bm 2 + 3<Enter> $ 5 $ bm 2 x 3<Enter> $ 6 $ bm Heehaw the hoohoo<Enter> $ bm <number> <+-x/> <number><ENTER>
- Write a function that receives the env[] array and an environment variable name and returns the value.
- Write a function called strncat that concats several strings
strncat(des, "Hello", " I am ", "testing ", "this!", 0);
Code these, blog and discuss it.... link title
Blog Posts 3 |
---|
*:Zhen's slight improvement to Adam's code *:Adam's code
*:Len's slight improvement to Andrew's code *:Len's code
*:Ragu's slight modification to Zhen's code *:Ragu's Code
Takes advantage of: *:GitHub *:Object Oriented Concepts which include the class *:Preprocessor macro *:Namespace *:GitHub source code of all stages(Feel free to folk and improve)
|
Resources 3
- Void Pointers
- macros - Variable arguments list
- Command Line Arguments
Week 4 - Sep 24
This Week 4
- Project introduction
- Project Diagram (as drawn in class)
- bio, cio
- Declaration modifiers
- compilation process
- Real Signature of main()
- Variable Argument list
To Do 4
- Download project from github (do not fork, your code must remain private)
Blog Posts 4 |
---|
Resources 4
- CIO Library
- contains the bconsole.h and bconsole.cpp files for the assignment, also contains a start to the assignment with a near complete console.h file and a non-finalized version of the display method, and a rough skeleton of the edit method
Week 5 - Oct 01
This Week 5
- Pointers (function pointers)
- DMA continued
- Virtuals
- Review
- Pure Virtual Pure Virtual & Abstract Base Classes
- Abstract Base Classes
- team assignments
- github private repos
- Project introduction
To Do 5
- Release 0.1 (the Console class) is due Wednesday Oct 09 23:59
- Details of how to submit will be announced later
Blog Posts 5 |
---|
|
Resources 5
Week 6 - Oct 08
This Week 6
- Linked Lists
To Do 6
- Challenge
- do depth() copy constructor and reverse() for the stack in oct 08 lecture code: secB Oct08
- reverse() is supposed to make stack in reversed order (Dmitry Romanenko)
Blog Posts 6 |
---|
|
Resources 6
- Linked Lists: http://www.cprogramming.com/tutorial/lesson15.html
- Linked Lists (video): http://www.youtube.com/watch?v=o5wJkJJpKtM&sns=em
Week 7 - Oct 15
This Week 7
- Project review
- Templates
- Linked lists
To Do 7
- Convert the dynamic integer array, done in class(intArray OR Array Of intArray), to a template and blog about it.
Blog Posts 7 |
---|
|
Resources 7
Week 8 - Oct 22 (STUDY break)
This Week 8
To Do 8
Blog Posts 8 |
---|
|
Resources 8
Week 9 - Oct 29
- Section AB:
- Initializing vs Setting/Assigning Objects
- Section C:
- Linked List Review
- Templates
This Week 9
- Test One
- Section A and B
- Section A, Nov 4th
- Section B, Nov 1st
- References Allowed: 2 bound packs of paper (i.e. text book and class notes) Single sheets not allowed.
- what is going to be on the test?
- everything from ipc144 to linked lists in oop344
- Section C:
- Section A and B
To Do 9
Blog Posts 9 |
---|
Resources 9
Week 10 - Nov 5
This Week 10
- Section AB:
- Casting
- Overload Casting
- Linked List w/ Templates
- Casting
- Section C:
- Templates Continued
- Template Specialization
- typename
- Enums
- Nested Classes
To Do 10
Section C Exercise: CYODT EX1
Section C Exercise: CYODT EX2
Blog Posts 10 |
---|
|
Resources 10
Week 11 - Nov 12
This Week 11
- Section AB:
- Bitwise Operators
- Exceptions
- Try
- Throw
- Catch
- Section C:
- Implicit Casting Operators
- std::string
- std::vector
- stl iterators
- stl algorithms
- Recursion
- Introduction to multiple inheritance
To Do 11
- Section C Exercise: CYODT EX3
Blog Posts 11 |
---|
|
Resources 11
- Templates - YouTube link (Bucky's C++ Programming Tutorials, videos 58-61): http://www.youtube.com/watch?v=W0aoAm6eYSk
- Application of Bitwise Operations very good video on bitwise operators
Week 12 - Nov 19
This Week 12
- Section ABC:
- Multiple Inheritance
- Memory Structures
- Diamond Inheritance
- Virtual Inheritance
- Template Inheritance(Section C)
- Multiple Inheritance
- Section AB:
- fstream
- read/write files
- copying files
- binary vs text
- fstream
- Section C:
- Exceptions Intro
- throw
- try
- catch
- Exceptions Intro
To Do 12
Blog Posts 12 |
---|
|
Resources 12
- A good tool for viewing and editing binary files: Free Hex Editor Neo
Week 13 - Nov 26
This Week 13
- Section AB:
- Test 2:
- Friday Class is canceled!
- BigBlueButton help sessions will be on Saturday and Sunday, (Time will be announced Later)
- Section C:
- Exceptions (Cont)
- Exception classes
- Multiple Catches
- New Keywords
- inline
- union
- Constrained Casting
- const_cast
- static_cast
- dynamic_cast
- reinterpret_cast
- Bit-Wise Operators
- and ( & )
- or ( | )
- xor ( ^ )
- negate ( ~ )
- left bit shift ( << )
- right bit shift ( >> )
- Binary File Access
- ios::binary
- Casting to and from byte arrays
- Exceptions (Cont)
To Do 13
Blog Posts 13 |
---|
|
Resources 13
Week 14 - Dec 3
This Week 14
To Do 14
Resources 14
Exam Week
- Wednesday Dec 11th, at 11:30
- OOP344AB, Room: S3031
- OOP344C, Room: S2148
- Reference sheets?
- 2 sets of bound notes (book + notes) allowed
- Should be set (stapled papers or whatever)