= OOP344 -- Weekly Schedule 2011/1 (Winter Semester)=
== Week 1 - Jan 9 May 8 ==
=== This Week ===
* Introduction to Open Source development.* Collaboration Tools:** Wiki** Blog** IRC** Code Repository**: [[Svn rules - OOP344 20111|SVN rules for semester]]=== To Do ===
=== To Do Resources ===
Due date: January 15th , 23:59 (11:59pm)== Week 2 - May 15 ==
Form a team of 3 to 5 students and select a name for your team. (members can be from both sections of oop344)=== This Week ===
# Create an account on this wiki, (please use your seneca email id for your wiki id)# Join the IRC by [http://www.wikihow.com/Register-a-User-Name-on-Freenode registering your nickname on freenode] server and joining the #seneca-oop344 channel for 344 related dialog<br />Additional channels of interest: #seneca to interact with all Seneca students participating in opensource projects, and #seneca-social for Social (off-topic) dialog.# Create a blog (if you don't already have one) # Add your name to the [[Student List 20111 - OOP344 | OOP344 Student List]]# Download [http://tortoisesvn.net/downloads SVN] and check out the OOP344 repo(svn://zenit.senecac.on.ca/oop344) to get the notes done in class (userid: "oop344", no password)# Create you team page using [[Team page template - oop344 20111|provided template]]=== To Do ===
=== Resources ===
* [http://tortoisesvn.net/downloads.html TortoiseSVN download page for windows]
* A quick tutorial for SVN: [http://www.owlnet.rice.edu/~comp314/svn.html Source Control in Ten Minutes]
*[http://zenit.senecac.on.ca/wiki/index.php/OOP344_Student_Resources#Creating_Projects_in_Visual_Studio_for_Console_ApplicationsHowto create console application projects in Visual Studio]
*[http://zenit.senecac.on.ca/wiki/index.php/OOP344_Student_Resources#Create_an_IRC_account_and_login_.28in_Windows.29Createan IRC account and login (in Windows)]
* [http://zenit.senecac.on.ca/wiki/index.php/RabbitVCS RabbitVCS - Linux alternative to TortoiseSVN]
* [http://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients Compare IRC clients]
* [http://en.wikipedia.org/wiki/Wikipedia:How_to_edit_a_page How To edit Wiki pages]
* [http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet How To edit Wiki Cheatsheet]
* [http://www.silverex.org/download/ Free Xchat for windows]
* [http://colloquy.info/downloads.html Colloquy] an IRC Client for Mac
* [http://www.rapidsvn.org/download/release/0.12/RapidSVN-0.12.0-8051.dmg RapidSVN] a SVN Client for Mac
== Week 2 3 - Jan 16 May 22 ==
=== This Week ===
* Finalizing team members
* 144/244 review and more
** Basic Data Types
** Addresses and Pointers
* Preprocessor Directives
* Console IO
** ncurses (Linux)
** curses (Mac/AIX)
** conio/windows.h (Windows)
** conio.h (Borland?)
* Prj 0.1 startup
*: IO lib (BIO)
=== To Do ===
Due date: January 24nd , 23:59 (11:59pm)
* Finalize your teams and indicate it on the team page.
* Verify and Correct your team name in the [[Teams' List 20111 - OOP344|Teams' List]] page, following the format indicated.
=== Resources ===
* Practical Programming Techniques Using C++*: Preprocessor Directives page 3*: Basic Data Types Page 21*: Addresses and Pointers Page 28*: Direct Terminal IO page 12 == Week 3 4 - Jan 23 May 29 ==
=== This Week ===
*C review
*BIO (continued)
*Using SVN Repository
=== To Do ===
* 0.1 Release is due on Wed Feb 2nd , 23:59
*: [[Development and submission steps using SVN - OOP344 20111]]
* write this function and blog about it:
*: void Int2Str(char* num, int number);
*::[http://aali83.blogspot.com/2011/01/converting-integer-into-character.html Solution] by [[user:aali83]]
*::[http://wliang983.wordpress.com/2011/01/27/38/ SOLUTION] by [[user:wliang11]]
*::[http://ajbruno-oop344.blogspot.com/2011/01/converting-integer-to-string.html Alternate Solution] by [[user:ajbruno]]
*::[http://bhrugeshblog.wordpress.com/2011/01/27/c-convert-number-to-string/ Different Approach] by [[User:bapatel6|Bhrugesh]]
*::[http://coding.shaunofthelive.com/2011/01/int2str.html Int2Str] by [[User:sahill1]]
* Another challenge for OOP344 Students, code the definition of this function in '''one''' line and blog about it:
*: void bio_display(const char* str, int row, int col, unsigned int len);
*::[http://luigibozianu.blogspot.com bio_display] by [[user:lbozianu]]
**: Start Date: Saturday, January 29th, 2011
**: Due Date : Friday, February 4th, 2011
* "'''Watch'''" all the important pages.
#Make sure you verified your email account already.
#Click on "my preferences" on top of the screen.
#Scroll to the bottom of the page and click "E-mail me when a page on my watchlist is changed".
#Save your changes and go to the pages that you wish to watch and click on "watch" on the top of the screen.
#Strongly suggest to watch: the '''current page''', [[Project 20111 - OOP344]], and [[OOP344 Student Resources]]
=== Resources ===
* Practical Programming Techniques Using C++
*: page 17, Direct IO stuff!!!
*: [[CC Linux Platform Virtual Key Code 20111 - OOP344|CC Linux Platform Virtual Key Code]]
*: [http://www.meandmark.com/keycodes.html CC MAC Platform Virtual Key Code (external site)] Just get out Windows Calculator in programmer mode to do the Hex to Dec conversions.
*: [http://www.classicteck.com/rbarticles/mackeyboard.php Virtual Key Code for Mac, Linux and Windows]
== Week 4 5 - Jan 30 Jun 5 ==
=== This Week ===
*Pointers, Arithmetic
*Arrays, (Multi-dimensional)
*BIO complex functions (continued)
*Generic pointers (void pointers)
*
=== To Do ===
* complete R0.1 if not done already
* re-evaluate your team (see who is in and who is not)
* complex bio function due on Thu Feb 17th 23:59
=== Resources ===
* Practical programming techniques in C++
*: Multi-Dim Arrays 26
*: Addresses and pointer 28
*: Pointer arithmetic 29
* Helper image for bio_edit
<!--*: [[Image:Bio edit-parameters.jpg|thumb|320px|bio_edit]] -->
== Week 5 6 - Feb 6 Jun 12 ==
=== This Week ===
*Pointers to functions
*typedef
*struct, enum, union
*variable argument list
*real syntax of main
=== To Do ===
* complex bio function due on Thu Feb 17th 23:59
=== Resources ===
*Practical Programming Techniques Using C++*: pointer to functions page 35*: Creating custom datatype names (typedef) page 41*: struct, union, enum page 37*: real syntax of main 58*: variable argument list 61== Week 6 7 - Feb 13 Jun 19 ==
=== This Week ===
* Friday class will be on IRC, freenode.net server, #seneca-oop344 Channel from 9:30 to 11:30
* declaration modifiers
*: static, const, register....
* control flow,
* recursive algorithms
* moving to cpp
** default parameters
** namespaces
=== To Do ===
* complex bio function due on Thu Feb 17th 23:59
=== Resources ===
* [http://www.ashkansotoudeh.com/blog/?p=135 File Copy Function] by [[user:asotoude]]
== Week 7 8 - Feb 20 Jun 26 (study break) ==
=== This Week ===
* Dynamic memory allocation review
* forward declaration
* linked lists
* R0.7 will be out
=== To Do ===
* Reorganize your teams
*: re-group if needed
*: layoff those who are inactive
* Add buffering to bio basic function from Fardad's code
=== Resources ===
*== Week 8 9 - Feb 27 (Study break) July 3 ==
=== This Week ===
* R0.4 due end of the week*: mock-up (hollow) classes and more
=== To Do ===
* Reorganize your teams
*: re-group if needed
*: layoff those who are inactive
=== Resources ===
=== Resources ===*== Week 9 10 - Mar 6 July 10 ==
=== This Week ===
* Project review
* Midterm test on Fri, March 11th
=== To Do ===
*
=== Resources ===
*== Week 10 11 - Mar 13 July 17 == === This week Week ===* Streams* binary operations
=== To Do ===
* R0.3 and R0.35 due* Team Regrouping Email* Write this function and blog about it<big><pre>void SetBitPattern(unsigned int& V, const char* pattern, int startBitIndex);SetBitPattern(I, "01101111", 4);// Startingf from bit 4 it will set the bits of I to the incoming pattern</pre></big>
=== Resources ===
* [http://acook6.blogspot.com/2011/03/setting-bit-pattern.html Setting a Bit Pattern] by [[User:acook6|Alan]]
* [http://bhrugeshblog.wordpress.com/2011/03/19/replace-binary-number-string/ Binary pattern replacement] by [[User:bapatel6|Bhrugesh]]
* [http://www.ashkansotoudeh.com/blog/?p=144 SetBitPattern()] by [[User:asotoude|Ashkan]]
* Practical Programming Techniques using C++ - Bitwise operators page 46
== week 11 Week 12 - Mar 20 July 24 == === This week Week ===* Binary file access* Templates
=== To Do ===
* [[Console UI Core Classes - OOP344 20111#Tue_march_29_R4.0|Tue march 29 R4.0 is due]]
* Set up meeting with Fardad if you need help with any part of the R4.0 release
*: meeting can be: On IRC, Skype, Office
=== Resources ===
* Practical Programming Techniques using C++ - Binary file access page 77* Practical Programming Techniques using C++ - Templates pages 85, 86* Practical Programming Techniques using C++ - Inline Functions page 84== Week 12 13 - Mar 27 July 31 == === This week Week ===* Test 2 - APRIL FOOLS!* Multiple Inheritance* Exception Handling* Project review
=== To Do ===
* Study for test 2
* Complete R4.0
=== Resources ===
* Practical Programming Tech. Using C++*: Multiple Inheritance Page 94*: Exception Handling page 99== Week 13 14 - Apr 3 August 7 == ===This weekWeek ===* Casting and Runtime Type information* Standard Templates
=== To Do ===
* Finalize IO classes and start working on the App
=== Resources ===
== Week 14 - Apr 10 ==
===This Week===
* Final exam April 18
===To Do=Exam week - August 14 == ===ResourcesThis Week ===