Difference between revisions of "Weekly Schedule 20103 - OOP344C"

From CDOT Wiki
Jump to: navigation, search
(Undo revision 44749 by Fardad (Talk))
(To Do)
 
(60 intermediate revisions by 5 users not shown)
Line 49: Line 49:
 
* If not done already, complete week 1 To Do '''NOW'''.
 
* 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'''.
 
* 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'''.
* Create svn directories for your '''development root''' under branches in your project repository (your team svn account) '''due Mon Sep 20 12:00 noon'''
+
 
* Create test directories under your '''development root''' '''due Mon Sep 20 12:00 noon'''
+
=== Resources ===
 +
 
 +
 
 +
== Week 3 - Sep 19 ==
 +
 
 +
=== This Week ===
 +
* IRC in action ([[Sep 21, 2010 class lecture notes for OOP344|class lectures and notes]])
 +
* Casting
 +
* Pointers, Arithmetic
 +
* Arrays, (Multi-dimensional)
 +
* 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 ===
 +
* 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''
 
: note: ''use your seneca email id as root of your development branch''
 
<big><pre>
 
<big><pre>
 
|-- Team svn account
 
|-- Team svn account
 
   +--branches
 
   +--branches
   | +-- member id one  <-- this is your '''development root'''
+
   | +-- member id one  <-- this is your "development root"
 
   |  +-- testdir
 
   |  +-- testdir
 
   | +-- member id two
 
   | +-- member id two
Line 64: 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 Mon Sep 20 12:00 noon'''
+
* Add C text files to your repo's testdir and exercise Checkout, update, commit, etc... on it. '''due Thu Sep 23 12:00 noon'''
 
 
=== Resources ===
 
 
 
 
 
== Week 3 - Sep 19 ==
 
 
 
=== This Week ===
 
 
 
* Casting
 
* Pointers, Arithmetic
 
* Arrays, (Multi-dimensional)
 
* lazy evaluation
 
* developing basic io library
 
* Submitting a working
 
=== To Do ===
 
 
 
 
* 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 ===
 +
# 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 110: Line 154:
 
* sizeof
 
* sizeof
 
* bitwise operators
 
* bitwise operators
* [[Oop344_20102_-_iof_functions | Coding iof functions]] continued
+
* [[Iolib functions 20103 - OOP344 | Coding iolib functions (Q&A)]] continued
  
 
=== To Do ===
 
=== To Do ===
Line 119: Line 163:
  
 
=== This Week ===
 
=== This Week ===
* Quiz
 
 
* bitwise operators (continued)
 
* bitwise operators (continued)
 
* bit-fields
 
* bit-fields
Line 125: 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
* Next Week Midterm Test
+
* 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 [svn://zenit.senecac.on.ca/oop344/trunk/TeamSelfMarking.ods The Team Self Evaluation From] on a computer and hand it in.
+
* write void printBits(unsigned int) shortest way possible.
 +
 
 
=== Resources ===
 
=== Resources ===
  
Line 144: Line 194:
  
 
=== To Do ===
 
=== To Do ===
* Start the main project by dividing tasks between team members
+
* Prj0.2 is due Sunday Oct 17 at 23:59 (in tags, prj0.2 branch)
=== Resources ===
+
*: All '''iolib''' functions are due
  
== Week 8 - OCT 17 (Study Week) ==
 
=== This Week ===
 
=== To Do ===
 
 
=== Resources ===
 
=== Resources ===
  
== Week 9 - Oct 24 ==
+
== Week 8 - Oct 24 (Study Week) ==
  
 
=== This Week ===
 
=== This Week ===
* OOP344 classes are in place on Tuesday and Wednesday (12:00 to 14:00, Room S2174 and if majority of the class stays, we can stay more)
+
* [http://fsoss.senecac.on.ca/ FSOSS]
* Test 1 will be on Wednesday
 
* Main Project Review
 
* Default Parameters
 
* Member Initialization
 
* Namespaces
 
* Intro to Linked Lists ??
 
* [svn://zenit.senecac.on.ca/oop344/trunk/13-Jun29 Review Session Notes]
 
  
 
=== To Do ===
 
=== To Do ===
* Start the main project by dividing tasks between team members
 
* Create Mock-up classes and methods and commit it to the repository.
 
  
 
=== Resources ===
 
=== Resources ===
 
 
  
 
== Week 9 - Oct 31==
 
== Week 9 - Oct 31==
  
 
=== This Week ===
 
=== This Week ===
 +
* Midterm test on Tuesday
 +
* Namespaces
 +
* 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==
  
 
=== This Week ===
 
=== This Week ===
 
+
* File Streams
 +
* Binary Files
 
=== To Do ===
 
=== To Do ===
  
Line 190: Line 231:
  
 
== Week 11 - Nov 14==
 
== Week 11 - Nov 14==
 
+
* Inline Functions
 +
* Templates
 +
** Functions
 +
** Classes
 
=== This Week ===
 
=== This Week ===
  
Line 198: Line 242:
  
 
== Week 12 - Nov 21==
 
== Week 12 - Nov 21==
 +
* References
 +
* Inheritance
 +
** Multiple
 +
** Virtual
 +
** Abstract classes (reviewed)
  
 
=== This Week ===
 
=== This Week ===
  
 
=== To Do ===
 
=== To Do ===
 +
<!--* Nov 28, 23:59, Prj 0.6 is due
 +
*: The full object oriented frame work of the application -->
  
 
=== Resources ===
 
=== Resources ===
 
  
 
== Week 13 - Nov 28==
 
== Week 13 - Nov 28==
 
 
=== This Week ===
 
=== This Week ===
 +
* Exception Handling
 +
* Casting Reviewed
 +
* Template Library
 +
* Test 2
  
 
=== To Do ===
 
=== To Do ===
  
 
=== Resources ===
 
=== Resources ===
 
  
 
== Week 14 - Dec 5==
 
== Week 14 - Dec 5==
  
 
=== This Week ===
 
=== 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

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

  • This weekend all wiki pages and contributions will be marked.
    make sure all the following are up-to-date
    1. Your information in student list
    2. Your personal page on wiki
    3. Your project development page
    4. Your blog
  • 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.

Resources