Weekly Schedule 20103 - OOP344C
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.