Difference between revisions of "Weekly Schedule 20133 - OOP344"
Benson Wong (talk | contribs) (→To Do 12) |
(official due date for assignment has been posted by Fardad in Application page) |
||
(37 intermediate revisions by 14 users not shown) | |||
Line 340: | Line 340: | ||
===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 394: | Line 393: | ||
==Week 9 - Oct 29== | ==Week 9 - Oct 29== | ||
− | + | * Section AB: | |
+ | ** Initializing vs Setting/Assigning Objects | ||
* Section C: | * Section C: | ||
** Linked List Review | ** Linked List Review | ||
Line 419: | Line 419: | ||
===This Week 10=== | ===This Week 10=== | ||
− | + | * Section AB: | |
+ | ** Casting | ||
+ | *** Overload Casting | ||
+ | ** Linked List w/ Templates | ||
* Section C: | * Section C: | ||
** Templates Continued | ** Templates Continued | ||
Line 430: | Line 433: | ||
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/14 CYODT EX1]<br /> | ||
Section C Exercise: [https://scs.senecac.on.ca/~jp.hughes/?q=node/15 CYODT EX2] | 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=== | ===Resources 10=== | ||
Line 436: | Line 444: | ||
===This Week 11=== | ===This Week 11=== | ||
− | + | * Section AB: | |
+ | ** Bitwise Operators | ||
+ | ** Exceptions | ||
+ | *** Try | ||
+ | *** Throw | ||
+ | *** Catch | ||
* Section C: | * Section C: | ||
** Implicit Casting Operators | ** Implicit Casting Operators | ||
Line 453: | Line 466: | ||
* Integers/Floats to Binary conversion: | * Integers/Floats to Binary conversion: | ||
*:[http://wongbsn.blogspot.ca/2013/11/integer-and-floating-point-numbers-to.html Benson's Blog] | *:[http://wongbsn.blogspot.ca/2013/11/integer-and-floating-point-numbers-to.html Benson's Blog] | ||
− | *[http://adaniele87.tumblr.com/post/67169380864/binary-operators | + | *[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/ | ||
+ | |||
|} | |} | ||
Line 464: | Line 479: | ||
===This Week 12=== | ===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=== | ===To Do 12=== | ||
− | {{collapsible header|Blog Posts | + | {{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=== | ===Resources 12=== | ||
+ | |||
+ | * A good tool for viewing and editing binary files: [http://www.hhdsoftware.com/ Free Hex Editor Neo] | ||
==Week 13 - Nov 26== | ==Week 13 - Nov 26== | ||
===This Week 13=== | ===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=== | ===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=== | ===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== | ==Week 14 - Dec 3== | ||
Line 493: | Line 573: | ||
*: OOP344AB, Room: S3031 | *: OOP344AB, Room: S3031 | ||
*: OOP344C, Room: S2148 | *: OOP344C, Room: S2148 | ||
+ | |||
+ | * Reference sheets? | ||
+ | ** 2 sets of bound notes (book + notes) allowed | ||
+ | ** Should be set (stapled papers or whatever) |
Latest revision as of 13: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)