Difference between revisions of "Weekly Schedule 20103 - OOP344C"
(→To Do) |
(→To Do) |
||
(38 intermediate revisions by 5 users not shown) | |||
Line 56: | Line 56: | ||
=== 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 | ||
Line 63: | Line 63: | ||
* developing and finalizing basic io library | * developing and finalizing basic io library | ||
* Committing your work to svn | * Committing your work to svn | ||
+ | * [[Sept 24 2010 class lecture notes for OOP344 | Notes on Pointers, Arrays and Lazy Eval]] | ||
=== To Do === | === To Do === | ||
− | * Create svn directories for your '''development root''' under branches in your project repository (your team svn account) '''due | + | * 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''' | * 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'' | : note: ''use your seneca email id as root of your development branch'' | ||
Line 71: | Line 73: | ||
|-- Team svn account | |-- Team svn account | ||
+--branches | +--branches | ||
− | | +-- member id one <-- this is your | + | | +-- member id one <-- this is your "development root" |
| +-- testdir | | +-- testdir | ||
| +-- member id two | | +-- member id two | ||
Line 80: | Line 82: | ||
+--trunk | +--trunk | ||
</pre></big> | </pre></big> | ||
− | * Add C text files to your repo's testdir and exercise Checkout, update, commit, etc... on it. '''due | + | * 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, | ||
Line 86: | Line 88: | ||
=== Resources === | === Resources === | ||
− | |||
== Week 4 - Sep 26 == | == Week 4 - Sep 26 == | ||
Line 96: | Line 97: | ||
=== To Do === | === To Do === | ||
− | # Prj0.1 due on Wed 29 noon; | + | # 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 | #: 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 | #: 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) | #: 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. | #: 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 124: | Line 163: | ||
=== This Week === | === This Week === | ||
− | |||
* bitwise operators (continued) | * bitwise operators (continued) | ||
* bit-fields | * bit-fields | ||
Line 133: | Line 171: | ||
=== 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 === | ||
Line 151: | 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 === | ||
Line 158: | Line 202: | ||
=== This Week === | === This Week === | ||
− | * | + | * [http://fsoss.senecac.on.ca/ FSOSS] |
=== To Do === | === To Do === | ||
Line 167: | Line 211: | ||
=== This Week === | === This Week === | ||
+ | * Midterm test on Tuesday | ||
* Namespaces | * Namespaces | ||
* Linked list | * Linked list | ||
+ | * File Streams | ||
=== To Do === | === To Do === | ||
=== Resources === | === Resources === | ||
+ | * [http://tinyurl.com/344ProjTalk November 5th IRC Meeting Transcript] | ||
== Week 10 - Nov 07== | == Week 10 - Nov 07== | ||
Line 204: | Line 251: | ||
=== To Do === | === To Do === | ||
+ | <!--* Nov 28, 23:59, Prj 0.6 is due | ||
+ | *: The full object oriented frame work of the application --> | ||
=== Resources === | === Resources === | ||
Line 224: | Line 273: | ||
* Exam preparation | * 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.