Difference between revisions of "Weekly Schedule 20133 - OOP344"

From CDOT Wiki
Jump to: navigation, search
(official due date for assignment has been posted by Fardad in Application page)
 
(202 intermediate revisions by 47 users not shown)
Line 49: Line 49:
  
 
=== Resources 1 ===
 
=== Resources 1 ===
* [http://etherpad.proximity.on.ca:9001/p/oop344_20133B-1 Ehterpad]
+
* [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 88: Line 88:
 
** Operators
 
** Operators
 
** Dynamic Memory
 
** Dynamic Memory
 +
** pre-processor directives
  
 
* Git review (Lab)
 
* Git review (Lab)
Line 95: 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)
 
*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
+
*Add your information to [[Student List 20133 - OOP344|The Student List]] as soon as possible
 
<br />
 
<br />
 
*Git Exercise: ([https://help.github.com/articles/generating-ssh-keys You need to generate an SSH key before you can do this exercise])
 
*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 exercise 1 repo from github into your account
+
** 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
 
** Clone the repo in your account to your local machine
 
** Open the solution in Visual Studio 2012
 
** 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)
 
** 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 this]] to be sure you corrected the program properly
+
** 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
 
** 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
 
** Push the commit back to your git repository
Line 123: 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 &#124; 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!

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

  1. Create an account on github
    1. Make sure your account name is presentable. This name will stay with you forever.
    2. Make sure your information on github is complete (real name, email, etc...)
  2. 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

  1. Create a blog (anywhere you like or use the one you already have)
  2. 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.
  3. Read Pro-git book
    Chapter One and Chapter Two
  4. 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
  5. Learn how to do basic editing in a wiki

Resources 1

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

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

Resources 3

Week 4 - Sep 24

This Week 4

To Do 4

  • Download project from github (do not fork, your code must remain private)

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

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

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)

Resources 6

Week 7 - Oct 15

This Week 7

  • Project review
  • Templates
  • Linked lists

To Do 7

Resources 7

Week 8 - Oct 22 (STUDY break)

This Week 8

To Do 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
    1. 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
    2. Section C:

To Do 9

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: CYODT EX1
Section C Exercise: CYODT EX2

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

Resources 11

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

Resources 12

Week 13 - Nov 26

This Week 13

  • Section AB:
    • Test 2:
      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

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)