Weekly Schedule 20103 - OOP344C

From CDOT Wiki
Revision as of 02:44, 12 October 2010 by Fardad (talk | contribs) (To Do)
Jump to: navigation, search


OOP344 | Weekly Schedule | Student List | Teams | Project | Student Resources

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.

  1. 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.
  2. Create a blog (if you don't already have one) and add your feed to Planet CDOT
  3. Create an account on this wiki, (please use your seneca email id)
  4. Add your name to the OOP344 Student List
  5. 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

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

Resources

Week 3 - Sep 19

This Week

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

  1. Add a blank solution to trunk with the following files:
    1. iol.c(blank file)
    2. iol.h(blank header file with safeguard coded only)
    3. ioltest.c a file that includes iol.h and has conditional compilation set for each developers main() function for testing:
      see below for example.
  2. 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
  3. 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)
  4. 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

Resources

Week 7 - Oct 17

This Week

  • Quiz
  • Forward declaration
  • Abstract classes
  • Exceptions
  • Default Parameters
  • Main project review

To Do

  • Prj0.2 is due Wed Oct 17 at noon (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

  • Namespaces
  • Linked list
  • File Streams

To Do

  • Prj 0.5 is due
    Fully functional object oriented framework for the application

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

  • Prj 1.0 due.
    Final release of application is due.

Resources

Week 14 - Dec 5

This Week

  • Review
  • Exam preparation

To Do

Resources