Weekly Schedule 20123 - OOP344

From CDOT Wiki
Jump to: navigation, search


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

OOP344 -- Weekly Schedule 2012/3 (Fall Semester)


Week 1 - Sep 3

This Week 1

  • Introduction to Open Source development.
  • Collaboration Tools:
    • Wiki
    • Blog
    • IRC
    • Code Repository
    • Big Blue Button
  • Object Orientation Review

To Do 1

  1. Read Pro-git book
    Chapter One and if possible Chapter Two
  2. Create an account on github
  3. Create a blog (anywhere you like)
  4. Join the IRC by registering your nickname on freenode server and joining the #seneca-oop344 channel for 344 related dialog
    Additional channels of interest: #seneca to interact with all Seneca students participating in opensource projects, and #seneca-social for Social (off-topic) dialog.
  5. Create a team of five students and pick a name for you team
  6. Send an email to me and send your github and team information
    subject of the email should be 344info
    email content
    nickname:
    name:
    surname:
    seneca username:
    github id:
    team name:
    number of team members:
  7. Create an account on this wiki
    send an email to cdot-wiki-admin@senecac.on.ca and ask for an account, an email will be sent back to you with your userid and a temporary password
  8. Learn how to do basic editing in a wiki
  9. Having all the information above add your name to the student list

Resources 1

Week 2 - Sep 9

This Week 2

  • Object Orientation Review
    Encapsulation, Inheritance, Polymorphism
  • Languages
    Platforms (Operating System + compiler)
    Multi-file compilation process basics
    compiler, linker

To Do 2

  1. Complete the to do list of last week
  2. Send an email to me and send your github and team information
    subject of the email should be 344info
    email content
    nickname:
    name:
    surname:
    seneca username:
    github id:
    team name:
    number of team members:

Resources 2

Week 3 - Sep 16

This Week 3

  • Pre-Processor Directives (Compiler continued)
  • Macros
    #define, #undef
    multi-line macros
  • Conditional Compilation
    #ifdef, #ifndef, #if, #elif, #else, #endif, #undef
  • Header file safeguards
    non-standard: #pragma once,
  • Operators
  • Data types
    Integer, floating point, pointer
    signed, unsigned
  • pointers
  • Storage Class Specifiers
    auto, register, volatile, const

To Do 3

  • Complete Teams' List 20123 - OOP344 page, (adding your team name and their members information)
    if you are not member of a team, add your name under "Not in a team" and I will assign you to a team.
  • Study chapter two of Pro-Git Book
  • Make sure your github account contains your REAL FULL NAME

Resources 3

Week 4 - Sep 23

This Week 4

  • Data types (continued) *
    sizeof *
    void, enum
  • pointers (continued)*
    pointer arithmetic *
    function pointers
  • Storage Class Specifiers
    const
  • Statics *
  • extern *
  • typedef
  • Compound Types
    Arrays * , Structures , Unions
  • Inheritance

To Do 4

Resources 4

Week 5 - Sep 30

This Week 5

  • Operator overload review (B)
  • friends review (B)
  • recursion (B)
  • Virtual, Pure-Virtual, Abstract Classes (B)
  • References
  • command line arguments
  • variable argument list
  • The project (introduction, main design and idea) (B)

To Do 5

Resources 5

Week 6 - Oct 7

This Week 6

To Do 6

  • I (Fardad) sent an email with following subject oop344 - Testing Group email to all oop344 students
    Make sure you received this email, if you did not, please check your spam filter and make sure it is not filtered.
    If you have not received this email, please let me know as soon as possible so I update my mailing list.

Resources 6

The project

Week 7 - Oct 14

This Week 7

To Do 7

  • Double check and correct/update your information on Teams page
    due date NOW
  • Have your team page ready by using the team page template
    If you already created your team page, modify it so its format matches the team page template.
    If you have not yet created your team page, create it by COPYING the content of the team page template into a newly created page according to the regulations stated on Teams page.
    Due date: NOW
  • pull the notes from github and run and walkthrough Test1Frame.cpp with CFrame class to understand how it works and post your questions and answer in blogs.
  • When posted, pickup, assign and start working on issues....

Resources 7

Week 8 - Oct 21 (Study Week)

This Week 8 (STUDY BREAK)

To Do 8

Resources 8

Week 9 - Oct 28

This Week 9

  • Monday, Midterm TEST
  • Working with Git and github
  • Linked lists (Queue)

To Do 9

Resources 9

Challenge!

Add the following methods to queue:

  • unsigned int size( );
  • int operator[](unsigned int index);
Note* Did you mean int&?

Challenge Answers

- Also I've noticed that Fardad did not write the return variable as a reference, which made it impossible to edit, as done in line 13 of queuetester.cpp, that is updated that as well.
- I decided to go a bit further and I did my operator[] method able to add new Nodes to the end of the Queue if we have index > size, comments are greatly appreciated.
- I actually go with side. I added a variable into the node.
  • Carlos Conejo's version (I went a little further: it adds a node with data 0 if you try to reference past the current size so it does not crash): Carlos's Blog.
  • Linpei Fan's Version - here Linpei's blog.

Week 10 - Nov 4

This Week 10

  • Project Milestone 0.2
  • bitwise operators
    1. and, or, not, exclusive or
    2. shifts
    3. determining the value of bits
      masks
    4. setting the value of bits
      "mask AND value" to set to "0" (ex. mask for 3rd bit: 1111 0111)
      "mask OR value" to set to "1" (ex. mask for 3rd bit: 0000 1000)

To Do 10

  • Project Milestone 0.2 (Due Monday Nov 12th 23:59)
  • Challege
    1. setBit(unsigned int val, unsigned int bitNo, bool bitVal);
      Sets the "bitNo" bit of val to the "bitVal" value
    2. char* bits(unsigned int val)
      returns a character string holding the bit pattern of val (i.e cout<<bits(0xF7)<<endl, will print 11110111)
    3. write the void prnBits(unsigned int val) function (wrote in class) in only one line.
* I tried two of the functions at http://yun811.blogspot.ca/ Yun Yang's oop344
* My drafts on char* bits(unsigned int val) : http://itactics.wordpress.com/2012/11/20/code-how-to-print-binary/  (Diaoqiang He)
* I have the solutions for all of three functions at my blog - http://linpei.blogspot.ca/ (Linpei Fan)
  • I did the void prnBits function in one line:
  • void prnBits(int val){
  • for(unsigned int m = 1 << (sizeof(val)*8 -1); m;printf("%d", !!(m & val)),m=m>>1);
  • }
  • Alina Shtramwasser - email: ashtramwasser1
  • Carlos Conejo's Challenges in : Carlos's Blog.

Resources 10

Week 11 - Nov 11

This Week 11

  • Templates
    • functions
    • classes

To Do 11

Resources 11

Week 12 - Nov 18

This Week 12

To Do 12

Resources 12

Week 13 - Nov 25

This Week 13

To Do 13

Resources 13

Week 14 - Dec 2

This Week 14

To Do 14

Resources 14

Week 15 - Dec 9 (Exam Week)

This Week 15

  • Final Exam
    Room: S3031
    Time: 11:30
    Date: Wednesday Dec 12th

To Do 15

Resources 15