Difference between revisions of "Weekly Schedule 20133 - OOP344"

From CDOT Wiki
Jump to: navigation, search
(Blog Posts 6)
(official due date for assignment has been posted by Fardad in Application page)
 
(69 intermediate revisions by 20 users not shown)
Line 96: 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 [[Student List 20133 - OOP344|The Student List]] as soon as possible
 
*Add your information to [[Student List 20133 - OOP344|The Student List]] as soon as possible
Line 160: Line 158:
 
[http://www.example.com link title]
 
[http://www.example.com link title]
  
=== Blog Posts ===
+
{{collapsible header|Blog Posts 3|3|collapsed}}
 
* [http://blog.fardad.com/2013/09/basic-math-challege-oop344.html Fardad's hint on basicMath]
 
* [http://blog.fardad.com/2013/09/basic-math-challege-oop344.html Fardad's hint on basicMath]
 
*Wei-Hao Lo's Solution for basicMath Problem.
 
*Wei-Hao Lo's Solution for basicMath Problem.
Line 238: Line 236:
 
*Justin Sean Wilkin's solution
 
*Justin Sean Wilkin's solution
 
*:[http://jswilkin.wordpress.com/2013/09/24/basicmath/ BasicMath on Justin's Blog]
 
*:[http://jswilkin.wordpress.com/2013/09/24/basicmath/ BasicMath on Justin's Blog]
 +
|}
  
 
===Resources 3===
 
===Resources 3===
Line 268: Line 267:
 
*Download project from github (do not fork, your code must remain private)
 
*Download project from github (do not fork, your code must remain private)
  
=== Blog Posts ===
+
{{collapsible header|Blog Posts 4|3|collapsed}}
 +
|}
  
 
===Resources 4===
 
===Resources 4===
Line 290: Line 290:
 
*: Details of how to submit will be announced later
 
*: Details of how to submit will be announced later
  
=== Blog Posts 5===
+
{{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]
 
*[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
 
**the main.cpp code in this blog post will use your display method to drive a car around in the terminal
 +
|}
  
 
===Resources 5===
 
===Resources 5===
Line 307: Line 308:
 
* reverse() is supposed to make stack in reversed order (Dmitry Romanenko)
 
* reverse() is supposed to make stack in reversed order (Dmitry Romanenko)
  
=== Blog Posts 6===
+
{{collapsible header|Blog Posts 6|3|collapsed}}
 
*Here is my solution to the stack copy constructor, and reverse stack problems:
 
*Here is my solution to the stack copy constructor, and reverse stack problems:
 
*:[http://adamsharpe8.blogspot.ca/2013/10 Adam's Blog]
 
*:[http://adamsharpe8.blogspot.ca/2013/10 Adam's Blog]
Line 335: Line 336:
 
*Kyno's blog about linked list (Sec. C)
 
*Kyno's blog about linked list (Sec. C)
 
*:[http://objectoriented344.blogspot.ca/ Kyno's Blog]
 
*:[http://objectoriented344.blogspot.ca/ Kyno's Blog]
 +
|}
  
 
===Resources 6===
 
===Resources 6===
  
Linked Lists: http://www.cprogramming.com/tutorial/lesson15.html
+
*Linked Lists: http://www.cprogramming.com/tutorial/lesson15.html
 
*Linked Lists (video): http://www.youtube.com/watch?v=o5wJkJJpKtM&sns=em
 
*Linked Lists (video): http://www.youtube.com/watch?v=o5wJkJJpKtM&sns=em
 
  
 
==Week 7 - Oct 15==
 
==Week 7 - Oct 15==
Line 347: Line 348:
 
* Project review
 
* Project review
 
* Templates
 
* Templates
 +
* Linked lists
  
 
===To Do 7===
 
===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]
  
=== Blog Posts 7===
+
|}
  
 
===Resources 7===
 
===Resources 7===
Line 359: Line 366:
 
===To Do 8===
 
===To Do 8===
  
=== Blog Posts 8===
+
{{collapsible header|Blog Posts 8|3|collapsed}}
 
*Thana's Doubly Linked List - No Iter yet(Sec C)
 
*Thana's Doubly Linked List - No Iter yet(Sec C)
 
*:[http://bwafflesoop344.blogspot.ca/2013/10/doubly-linked-list.html Thana's Blog]
 
*:[http://bwafflesoop344.blogspot.ca/2013/10/doubly-linked-list.html Thana's Blog]
Line 365: Line 372:
 
*DLL exercise (Xu Liu) _Sec C
 
*DLL exercise (Xu Liu) _Sec C
 
** still have issues with iterator working with list(2013-10-21)
 
** 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]
 
*:[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===
 
===Resources 8===
  
 
==Week 9 - Oct 29==
 
==Week 9 - Oct 29==
 +
* Section AB:
 +
** Initializing vs Setting/Assigning Objects
 +
* Section C:
 +
** Linked List Review
 +
** Templates
  
 
===This Week 9===
 
===This Week 9===
 
* Test One
 
* Test One
*# Secion A and B
+
*# Section A and B
*#: Section A, Wed 30th
+
*#: Section A, Nov 4th
*#: Section B, Tue 29th
+
*#: Section B, Nov 1st
 
*#: References Allowed: 2 bound packs of paper (i.e. text book and class notes) Single sheets not allowed.
 
*#: 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?  
 
*#: what is going to be on the test?  
Line 383: Line 411:
 
===To Do 9===
 
===To Do 9===
  
=== Blog Posts 9===
+
{{collapsible header|Blog Posts 9|3|collapsed}}
 +
|}
  
 
===Resources 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: [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)