Difference between revisions of "Weekly Schedule 20111 - OOP344"
(Created page with '{{OOP344 Index | 20111}} = OOP344 -- Weekly Schedule 20111= == Week 1 - Jan 9 == === This Week === * Introduction to Open Source development. * Collaboration Tools: ** Wiki *…') |
|||
(97 intermediate revisions by 17 users not shown) | |||
Line 1: | Line 1: | ||
{{OOP344 Index | 20111}} | {{OOP344 Index | 20111}} | ||
− | = OOP344 -- Weekly Schedule | + | = OOP344 -- Weekly Schedule 2011/1 (Winter Semester)= |
== Week 1 - Jan 9 == | == Week 1 - Jan 9 == | ||
Line 13: | Line 13: | ||
** IRC | ** IRC | ||
** Code Repository | ** Code Repository | ||
− | * | + | **: [[Svn rules - OOP344 20111|SVN rules for semester]] |
=== To Do === | === To Do === | ||
Line 19: | Line 19: | ||
Due date: January 15th , 23:59 (11:59pm) | Due date: January 15th , 23:59 (11:59pm) | ||
− | Form a team of 5 students and select a name for your team. (members can be from both sections of oop344) | + | Form a team of 3 to 5 students and select a name for your team. (members can be from both sections of oop344) |
+ | # 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. | # 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) | # Create a blog (if you don't already have one) | ||
− | + | # Add your name to the [[Student List 20111 - OOP344 | OOP344 Student List]] | |
− | # Add your name to the [[ | ||
# 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) | # 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]] | ||
=== Resources === | === 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] | * 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#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/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://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 - Jan 16 == | ||
+ | |||
+ | === 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 - Jan 23 == | ||
+ | |||
+ | === 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 - Jan 30 == | ||
+ | |||
+ | === 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 - Feb 6 == | ||
+ | |||
+ | === 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 - Feb 13 == | ||
+ | |||
+ | === 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 - Feb 20 == | ||
+ | |||
+ | === 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 - Feb 27 (Study break) == | ||
+ | |||
+ | === 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 === | ||
+ | * | ||
+ | == Week 9 - Mar 6 == | ||
+ | |||
+ | === This Week === | ||
+ | * Project review | ||
+ | * Midterm test on Fri, March 11th | ||
+ | |||
+ | === To Do === | ||
+ | * | ||
+ | |||
+ | === Resources === | ||
+ | * | ||
+ | == Week 10 - Mar 13 == | ||
+ | === This 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 - Mar 20 == | ||
+ | === This 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 - Mar 27 == | ||
+ | === This 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 - Apr 3 == | ||
+ | ===This week=== | ||
+ | * 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=== | ||
+ | ===Resources=== |
Latest revision as of 12:10, 2 May 2011
OOP344 | Weekly Schedule | Student List | Teams | Project | Student Resources
Contents
- 1 OOP344 -- Weekly Schedule 2011/1 (Winter Semester)
OOP344 -- Weekly Schedule 2011/1 (Winter Semester)
Week 1 - Jan 9
This Week
- Introduction to Open Source development.
- Collaboration Tools:
- Wiki
- Blog
- IRC
- Code Repository
To Do
Due date: January 15th , 23:59 (11:59pm)
Form a team of 3 to 5 students and select a name for your team. (members can be from both sections of oop344)
- Create an account on this wiki, (please use your seneca email id for your wiki id)
- 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. - Create a blog (if you don't already have one)
- Add your name to the OOP344 Student List
- Download 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 provided template
Resources
- TortoiseSVN download page for windows
- A quick tutorial for SVN: Source Control in Ten Minutes
- create console application projects in Visual Studio
- IRC account and login (in Windows)
- RabbitVCS - Linux alternative to TortoiseSVN
- Compare IRC clients
- How To edit Wiki pages
- How To edit Wiki Cheatsheet
- Free Xchat for windows
- Colloquy an IRC Client for Mac
- RapidSVN a SVN Client for Mac
Week 2 - Jan 16
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 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 - Jan 23
This Week
- C review
- BIO (continued)
- Using SVN Repository
To Do
- 0.1 Release is due on Wed Feb 2nd , 23:59
- write this function and blog about it:
- void Int2Str(char* num, int number);
- 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);
- 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
- CC MAC Platform Virtual Key Code (external site) Just get out Windows Calculator in programmer mode to do the Hex to Dec conversions.
- Virtual Key Code for Mac, Linux and Windows
Week 4 - Jan 30
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
Week 5 - Feb 6
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 - Feb 13
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
Week 7 - Feb 20
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 - Feb 27 (Study break)
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
Week 9 - Mar 6
This Week
- Project review
- Midterm test on Fri, March 11th
To Do
Resources
Week 10 - Mar 13
This week
- Streams
- binary operations
To Do
- R0.3 and R0.35 due
- Team Regrouping Email
- Write this function and blog about it
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
Resources
- Setting a Bit Pattern by Alan
- Binary pattern replacement by Bhrugesh
- SetBitPattern() by Ashkan
- Practical Programming Techniques using C++ - Bitwise operators page 46
week 11 - Mar 20
This week
- Binary file access
- Templates
To Do
- 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 - Mar 27
This 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 - Apr 3
This week
- 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