Difference between revisions of "Weekly Schedule 20103 - OOP344C"
(→To Do: Removed < />) |
(→To Do) |
||
(77 intermediate revisions by 6 users not shown) | |||
Line 17: | Line 17: | ||
=== To Do === | === To Do === | ||
− | Due date: | + | Due date: September 11th , 23:59 (11:59pm) |
− | Form a team of | + | Form a team of 3 students and select a name for your team. |
− | |||
# Join the IRC by [http://www.wikihow.com/Register-a-User-Name-on-Freenode registering your nickname on freenode] server and joining the #Seneca channel<br />Additional channels of interest: #seneca-oop344 for 344 related dialog, 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 channel<br />Additional channels of interest: #seneca-oop344 for 344 related dialog, and #seneca-social for Social (off-topic) dialog. | ||
# Create a blog (if you don't already have one) and [[Planet CDOT Feed List|add your feed]] to [http://zenit.senecac.on.ca/~chris.tyler/planet/ Planet CDOT] | # Create a blog (if you don't already have one) and [[Planet CDOT Feed List|add your feed]] to [http://zenit.senecac.on.ca/~chris.tyler/planet/ Planet CDOT] | ||
+ | # Create an account on this wiki, (please use your seneca email id) | ||
# Add your name to the [[OOP344 Student List 20103 | OOP344 Student List]] | # Add your name to the [[OOP344 Student List 20103 | 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) | # 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) | ||
Line 42: | Line 42: | ||
* #define (macros) | * #define (macros) | ||
* Multi-platform Coding | * Multi-platform Coding | ||
+ | * Conditional Compilation | ||
* Review of types in C | * Review of types in C | ||
+ | * svn more detailed | ||
* Starting Basic IO library for the project | * Starting Basic IO library for the project | ||
=== To Do === | === To Do === | ||
+ | * If not done already, complete week 1 To Do '''NOW'''. | ||
+ | * Finalize and confirm your teams of 3 (or 4 with Fardad's permission): [[Initial Team Assignments 20103 - OOP344C]] '''due Wed Sep 15 12:00 noon'''. | ||
− | + | === Resources === | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Week 3 - Sep 19 == | == Week 3 - Sep 19 == | ||
=== This Week === | === This Week === | ||
− | + | * IRC in action ([[Sep 21, 2010 class lecture notes for OOP344|class lectures and notes]]) | |
* Casting | * Casting | ||
* Pointers, Arithmetic | * Pointers, Arithmetic | ||
* Arrays, (Multi-dimensional) | * Arrays, (Multi-dimensional) | ||
− | |||
* lazy evaluation | * lazy evaluation | ||
+ | * developing and finalizing basic io library | ||
+ | * Committing your work to svn | ||
+ | * [[Sept 24 2010 class lecture notes for OOP344 | Notes on Pointers, Arrays and Lazy Eval]] | ||
=== To Do === | === To Do === | ||
− | + | * Starting next week, we will try to have one quiz per week. | |
+ | * Create svn directories for your '''development root''' under branches in your project repository (your team svn account) '''due Thu Sep 23 12:00 noon''' | ||
+ | * Create test directories under your '''development root''' '''due Thu Sep 23 12:00 noon''' | ||
+ | : note: ''use your seneca email id as root of your development branch'' | ||
+ | <big><pre> | ||
+ | |-- Team svn account | ||
+ | +--branches | ||
+ | | +-- member id one <-- this is your "development root" | ||
+ | | +-- testdir | ||
+ | | +-- member id two | ||
+ | | +-- testdir | ||
+ | | +-- member id three | ||
+ | | +-- testdir | ||
+ | +--tags | ||
+ | +--trunk | ||
+ | </pre></big> | ||
+ | * Add C text files to your repo's testdir and exercise Checkout, update, commit, etc... on it. '''due Thu Sep 23 12:00 noon''' | ||
* work with svn and familiarize yourself with it | * work with svn and familiarize yourself with it | ||
* Blog, | * Blog, | ||
− | |||
* Get ready for the first quiz on what ever we work on till now | * Get ready for the first quiz on what ever we work on till now | ||
=== Resources === | === Resources === | ||
− | |||
− | |||
== Week 4 - Sep 26 == | == Week 4 - Sep 26 == | ||
Line 86: | Line 94: | ||
* void pointers | * void pointers | ||
* intro to pointer to functions | * intro to pointer to functions | ||
− | * | + | * developing io library continued |
=== To Do === | === To Do === | ||
− | + | # Add a blank solution to trunk with the following files: | |
− | + | ## iol.c(blank file) | |
+ | ## iol.h(blank header file with safeguard coded only) | ||
+ | ## ioltest.c a file that includes '''iol.h''' and has conditional compilation set for each developers main() function for testing: | ||
+ | ##: see below for example. | ||
+ | # Each team member should branch the trunk into his/her workspace in branches | ||
+ | #: Each team member must implement one platform and test it to make sure all the functions work properly | ||
+ | # Merge back the workspace to trunk to apply the changes you made. | ||
+ | #: Merge, compile trunk, make sure everything works, then commit the trunk and branch it to next tag dir sequence. | ||
+ | #: First one completing the platform should call the tag prj0.01, next one should call the tag 0.02 and so on.... | ||
+ | #: Last one completing the assigned platform should call the tag 0.1. ( will mark this tag the latest release after 0.1) | ||
+ | # '''Prj0.1 due on Wed 29 noon; ''' | ||
+ | #: Submit in tags prj0.1 branch (dir) of your team repository | ||
+ | #: Simple '''iolib''' functions are due with your own test program to prove that functions work properly | ||
+ | #: One platform must be committed per (and by) team member. (i.e. if you have four team members, you have four platforms to develop) | ||
+ | #: Note that in MAC for function keys you should use combination of one of the ctrl, alt or apply keys with the function keys to get a unique key code. | ||
+ | #: Minimum number of platforms is 2. which means if you are doing the project alone, you must have at least two platforms. | ||
+ | <big> | ||
+ | /* ioltest.c example | ||
+ | #include "iol.h" | ||
+ | #define senecaid1 1 | ||
+ | #define senecaid2 2 | ||
+ | #define .... | ||
+ | #define PROGRAMMER senecaid1 | ||
+ | #if PROGRAMMER == senecaid1 | ||
+ | int main(){ | ||
+ | /* test written by senecaid1 */ | ||
+ | return 0; | ||
+ | } | ||
+ | #elif PROGRAMMER == senecaid2 | ||
+ | int main(){ | ||
+ | /* test written by senecaid2 */ | ||
+ | return 0; | ||
+ | } | ||
+ | #elif ...... | ||
+ | #else | ||
+ | int main(){ | ||
+ | /* common main for all */ | ||
+ | return 0; | ||
+ | } | ||
+ | #endif | ||
+ | </big> | ||
=== Resources === | === Resources === | ||
− | + | [[Hints for Using SVN to collaborate on school projects]] | |
== Week 5 - Oct 03 == | == Week 5 - Oct 03 == | ||
Line 106: | Line 154: | ||
* sizeof | * sizeof | ||
* bitwise operators | * bitwise operators | ||
− | * [[ | + | * [[Iolib functions 20103 - OOP344 | Coding iolib functions (Q&A)]] continued |
=== To Do === | === To Do === | ||
Line 112: | Line 160: | ||
=== Resources === | === Resources === | ||
− | == Week 6 - | + | == Week 6 - Oct 10 == |
=== This Week === | === This Week === | ||
− | |||
* bitwise operators (continued) | * bitwise operators (continued) | ||
* bit-fields | * bit-fields | ||
Line 121: | Line 168: | ||
* Real Syntax of main() | * Real Syntax of main() | ||
* Variable Arguments | * Variable Arguments | ||
− | * Starting C++ and Main Project | + | * Starting C++ and Main Project (Encapsulating '''iolib''') |
=== To Do === | === To Do === | ||
+ | * This weekend all wiki pages and contributions will be marked. | ||
+ | *: make sure all the following are up-to-date | ||
+ | *:# Your information in student list | ||
+ | *:# Your personal page on wiki | ||
+ | *:# Your project development page | ||
+ | *:# Your blog | ||
* Study for Quiz This week & next week | * Study for Quiz This week & next week | ||
− | + | * Fill [https://zenit.senecac.on.ca/svn/oop344/trunk/TeamSelfMarking.ods The Team Self Evaluation From] on a computer, print and hand it in when doing the midterm test. | |
− | * Fill [ | + | * write void printBits(unsigned int) shortest way possible. |
+ | |||
=== Resources === | === Resources === | ||
− | + | == Week 7 - Oct 17 == | |
− | == Week 7 - Oct | ||
=== This Week === | === This Week === | ||
Line 141: | Line 194: | ||
=== To Do === | === To Do === | ||
− | * | + | * Prj0.2 is due Sunday Oct 17 at 23:59 (in tags, prj0.2 branch) |
+ | *: All '''iolib''' functions are due | ||
+ | |||
=== Resources === | === Resources === | ||
+ | == Week 8 - Oct 24 (Study Week) == | ||
+ | |||
+ | === This Week === | ||
+ | * [http://fsoss.senecac.on.ca/ FSOSS] | ||
− | == Week | + | === To Do === |
+ | |||
+ | === Resources === | ||
+ | |||
+ | == Week 9 - Oct 31== | ||
=== This Week === | === This Week === | ||
− | * | + | * Midterm test on Tuesday |
− | |||
− | |||
− | |||
− | |||
* Namespaces | * Namespaces | ||
− | * | + | * Linked list |
− | * [ | + | * File Streams |
+ | |||
+ | === To Do === | ||
+ | |||
+ | === Resources === | ||
+ | * [http://tinyurl.com/344ProjTalk November 5th IRC Meeting Transcript] | ||
+ | |||
+ | == Week 10 - Nov 07== | ||
+ | |||
+ | === This Week === | ||
+ | * File Streams | ||
+ | * Binary Files | ||
+ | === To Do === | ||
+ | |||
+ | === Resources === | ||
+ | |||
+ | == Week 11 - Nov 14== | ||
+ | * Inline Functions | ||
+ | * Templates | ||
+ | ** Functions | ||
+ | ** Classes | ||
+ | === This Week === | ||
+ | |||
+ | === To Do === | ||
+ | |||
+ | === Resources === | ||
+ | |||
+ | == Week 12 - Nov 21== | ||
+ | * References | ||
+ | * Inheritance | ||
+ | ** Multiple | ||
+ | ** Virtual | ||
+ | ** Abstract classes (reviewed) | ||
+ | |||
+ | === This Week === | ||
+ | |||
+ | === To Do === | ||
+ | <!--* Nov 28, 23:59, Prj 0.6 is due | ||
+ | *: The full object oriented frame work of the application --> | ||
+ | === Resources === | ||
+ | |||
+ | == Week 13 - Nov 28== | ||
+ | === This Week === | ||
+ | * Exception Handling | ||
+ | * Casting Reviewed | ||
+ | * Template Library | ||
+ | * Test 2 | ||
+ | |||
+ | === To Do === | ||
+ | |||
+ | === Resources === | ||
+ | |||
+ | == Week 14 - Dec 5== | ||
+ | |||
+ | === This Week === | ||
+ | * Review | ||
+ | * Exam preparation | ||
=== To Do === | === To Do === | ||
− | * | + | * Dec 12, 23:59, Prj 0.6 due. |
− | * | + | *: Final release of application is due. |
=== Resources === | === Resources === |
Latest revision as of 07:06, 20 December 2010
OOP344 | Weekly Schedule | Student List | Teams | Project | Student Resources
Contents
- 1 OOP344C -- Weekly Schedule 20103
- 1.1 Week 1 - Sep 5
- 1.2 Week 2 - Sep 12
- 1.3 Week 3 - Sep 19
- 1.4 Week 4 - Sep 26
- 1.5 Week 5 - Oct 03
- 1.6 Week 6 - Oct 10
- 1.7 Week 7 - Oct 17
- 1.8 Week 8 - Oct 24 (Study Week)
- 1.9 Week 9 - Oct 31
- 1.10 Week 10 - Nov 07
- 1.11 Week 11 - Nov 14
- 1.12 Week 12 - Nov 21
- 1.13 Week 13 - Nov 28
- 1.14 Week 14 - Dec 5
OOP344C -- Weekly Schedule 20103
Week 1 - Sep 5
This Week
- Introduction to Open Source development.
- Collaboration Tools:
- Wiki
- Blog
- IRC
- Code Repository
- 144/244 review
To Do
Due date: September 11th , 23:59 (11:59pm)
Form a team of 3 students and select a name for your team.
- Join the IRC by registering your nickname on freenode server and joining the #Seneca channel
Additional channels of interest: #seneca-oop344 for 344 related dialog, and #seneca-social for Social (off-topic) dialog. - Create a blog (if you don't already have one) and add your feed to Planet CDOT
- Create an account on this wiki, (please use your seneca email id)
- 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)
Resources
- 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
Week 2 - Sep 12
This Week
- Preprocessor Directives
- #include
- #define (macros)
- Multi-platform Coding
- Conditional Compilation
- Review of types in C
- svn more detailed
- Starting Basic IO library for the project
To Do
- If not done already, complete week 1 To Do NOW.
- Finalize and confirm your teams of 3 (or 4 with Fardad's permission): Initial Team Assignments 20103 - OOP344C due Wed Sep 15 12:00 noon.
Resources
Week 3 - Sep 19
This Week
- IRC in action (class lectures and notes)
- Casting
- Pointers, Arithmetic
- Arrays, (Multi-dimensional)
- lazy evaluation
- developing and finalizing basic io library
- Committing your work to svn
- Notes on Pointers, Arrays and Lazy Eval
To Do
- Starting next week, we will try to have one quiz per week.
- Create svn directories for your development root under branches in your project repository (your team svn account) due Thu Sep 23 12:00 noon
- Create test directories under your development root due Thu Sep 23 12:00 noon
- note: use your seneca email id as root of your development branch
|-- Team svn account +--branches | +-- member id one <-- this is your "development root" | +-- testdir | +-- member id two | +-- testdir | +-- member id three | +-- testdir +--tags +--trunk
- Add C text files to your repo's testdir and exercise Checkout, update, commit, etc... on it. due Thu Sep 23 12:00 noon
- work with svn and familiarize yourself with it
- Blog,
- Get ready for the first quiz on what ever we work on till now
Resources
Week 4 - Sep 26
This Week
- void pointers
- intro to pointer to functions
- developing io library continued
To Do
- Add a blank solution to trunk with the following files:
- iol.c(blank file)
- iol.h(blank header file with safeguard coded only)
- ioltest.c a file that includes iol.h and has conditional compilation set for each developers main() function for testing:
- see below for example.
- Each team member should branch the trunk into his/her workspace in branches
- Each team member must implement one platform and test it to make sure all the functions work properly
- Merge back the workspace to trunk to apply the changes you made.
- Merge, compile trunk, make sure everything works, then commit the trunk and branch it to next tag dir sequence.
- First one completing the platform should call the tag prj0.01, next one should call the tag 0.02 and so on....
- Last one completing the assigned platform should call the tag 0.1. ( will mark this tag the latest release after 0.1)
- Prj0.1 due on Wed 29 noon;
- Submit in tags prj0.1 branch (dir) of your team repository
- Simple iolib functions are due with your own test program to prove that functions work properly
- One platform must be committed per (and by) team member. (i.e. if you have four team members, you have four platforms to develop)
- Note that in MAC for function keys you should use combination of one of the ctrl, alt or apply keys with the function keys to get a unique key code.
- Minimum number of platforms is 2. which means if you are doing the project alone, you must have at least two platforms.
/* ioltest.c example #include "iol.h" #define senecaid1 1 #define senecaid2 2 #define .... #define PROGRAMMER senecaid1 #if PROGRAMMER == senecaid1 int main(){ /* test written by senecaid1 */ return 0; } #elif PROGRAMMER == senecaid2 int main(){ /* test written by senecaid2 */ return 0; } #elif ...... #else int main(){ /* common main for all */ return 0; } #endif
Resources
Hints for Using SVN to collaborate on school projects
Week 5 - Oct 03
This Week
- Pointer to functions
- unions
- Enumeration
- typedef
- logical operators
- conditional expression
- sizeof
- bitwise operators
- Coding iolib functions (Q&A) continued
To Do
Resources
Week 6 - Oct 10
This Week
- bitwise operators (continued)
- bit-fields
- Declaration Modifiers
- Real Syntax of main()
- Variable Arguments
- Starting C++ and Main Project (Encapsulating iolib)
To Do
- This weekend all wiki pages and contributions will be marked.
- make sure all the following are up-to-date
- Your information in student list
- Your personal page on wiki
- Your project development page
- Your blog
- make sure all the following are up-to-date
- Study for Quiz This week & next week
- Fill The Team Self Evaluation From on a computer, print and hand it in when doing the midterm test.
- write void printBits(unsigned int) shortest way possible.
Resources
Week 7 - Oct 17
This Week
- Quiz
- Forward declaration
- Abstract classes
- Exceptions
- Default Parameters
- Main project review
To Do
- Prj0.2 is due Sunday Oct 17 at 23:59 (in tags, prj0.2 branch)
- All iolib functions are due
Resources
Week 8 - Oct 24 (Study Week)
This Week
To Do
Resources
Week 9 - Oct 31
This Week
- Midterm test on Tuesday
- Namespaces
- Linked list
- File Streams
To Do
Resources
Week 10 - Nov 07
This Week
- File Streams
- Binary Files
To Do
Resources
Week 11 - Nov 14
- Inline Functions
- Templates
- Functions
- Classes
This Week
To Do
Resources
Week 12 - Nov 21
- References
- Inheritance
- Multiple
- Virtual
- Abstract classes (reviewed)
This Week
To Do
Resources
Week 13 - Nov 28
This Week
- Exception Handling
- Casting Reviewed
- Template Library
- Test 2
To Do
Resources
Week 14 - Dec 5
This Week
- Review
- Exam preparation
To Do
- Dec 12, 23:59, Prj 0.6 due.
- Final release of application is due.