Weekly Schedule 20141 - OOP344

From CDOT Wiki
Revision as of 11:51, 9 January 2014 by Catherine.leung (talk | contribs) (Due January 10 (Friday) 18:00)
Jump to: navigation, search


OOP344 | Weekly Schedule | Student List | Teams | Project | Student Resources
Under construction!

Week 1 - Sep 3

This Week 1

  • Introduction to Open Source development.
  • Collaboration Tools:
    • Wiki
    • Blog
    • IRC
    • Code Repository
      Git, Svn, ....
    • Big Blue Button
  • Etherpad
  • Object Orientation Review
  • C Review
    main Function return value
    pointers
    pointers and arrays

To Do 1

Due January 10 (Friday) 18:00

  1. Create an account on github
    1. Make sure your account name is presentable. This name will stay with you forever.
    2. Make sure your information on github is complete (real name, email, etc...)
  2. Send ONE email to me(Hasan) containing your git hub id
    subject of the email should be 344Github20141
    email content
    name: Your Name (exactly as it appears on your Seneca student card)
    nickname: Your Nick name (how friends usually call you)
    Git hub ID: your Github id

Due by Sep 8th, 23:59

  1. Create a blog (anywhere you like or use the one you already have)
  2. 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.
  3. Read Pro-git book
    Chapter One and Chapter Two
  4. 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; make sure you have the following included in your email.
    • Email subject: Wiki Account Request
    • The subject you are enrolled in: "OOP344"
    • Your Seneca user id
    • Send this email from your Seneca Account only
  5. Learn how to do basic editing in a wiki

Resources 1

Week 2 - Sep 10

This Week 2

  • C++ Review (Lecture)
    • Pointers and arrays
    • Object Orientation
    • Classes and privacy
    • Helpers and Friends
    • Inheritance and polymorphism
    • Operators
    • Dynamic Memory
    • pre-processor directives

To Do 2

  • If you have not already, request an account on this wiki (admin email can be found on wiki login page, top right of the screen)
  • Add your information to The Student List as soon as possible


  • Git Exercise: (You need to generate an SSH key before you can do this exercise)
    • Fork the exercise 1 repo from github into your account
    • Clone the repo in your account to your local machine
    • Open the solution in Visual Studio 2012
    • Find the errors in the program and fix them (Discussing this on the IRC channel is encouraged, but supplying answers is frowned upon)
    • Check your output against the oop344-ex1-output to be sure you corrected the program properly
    • Once complete, add the file to your git stage and commit it with a message that details what you did to fix the program
    • Push the commit back to your git repository

Resources 2

Week 3 - Sep 17

This Week 3

  • pre-processor directives
    • macros
    • Conditional Compilation
  • Operators
    • logical
    • lazy eval
  • consts
    • values
    • pointers
    • methods
  • void pointers
  • default args
  • typedef, (including C usage)
  • namespace

To Do 3

  • Write a program called basicMath:
$ bm 2 + 3<Enter>
$ 5
$ bm 2 x 3<Enter>
$ 6
$ bm Heehaw the hoohoo<Enter>
$ bm <number> <+-x/> <number><ENTER>
  • Write a function that receives the env[] array and an environment variable name and returns the value.
  • Write a function called strncat that concats several strings
strncat(des, "Hello", " I am ", "testing ", "this!", 0);

Code these, blog and discuss it.... link title

Resources 3

Week 4 - Sep 24

This Week 4

To Do 4

  • Download project from github (do not fork, your code must remain private)

Resources 4

  • CIO Library
    • contains the bconsole.h and bconsole.cpp files for the assignment, also contains a start to the assignment with a near complete console.h file and a non-finalized version of the display method, and a rough skeleton of the edit method

Week 5 - Oct 01

This Week 5

To Do 5

  • Release 0.1 (the Console class) is due Wednesday Oct 09 23:59
    Details of how to submit will be announced later

Resources 5

Week 6 - Oct 08

This Week 6

  • Linked Lists

To Do 6

  • Challenge
    do depth() copy constructor and reverse() for the stack in oct 08 lecture code: secB Oct08
  • reverse() is supposed to make stack in reversed order (Dmitry Romanenko)

Resources 6

Week 7 - Oct 15

This Week 7

  • Project review
  • Templates
  • Linked lists

To Do 7

Resources 7

Week 8 - Oct 22 (STUDY break)

This Week 8

To Do 8

Resources 8

Week 9 - Oct 29

  • Section AB:
    • Initializing vs Setting/Assigning Objects
  • Section C:
    • Linked List Review
    • Templates

This Week 9

  • Test One
    1. Section A and B
      Section A, Nov 4th
      Section B, Nov 1st
      References Allowed: 2 bound packs of paper (i.e. text book and class notes) Single sheets not allowed.
      what is going to be on the test?
      everything from ipc144 to linked lists in oop344
    2. Section C:

To Do 9

Resources 9

Week 10 - Nov 5

This Week 10

  • Section AB:
    • Casting
      • Overload Casting
    • Linked List w/ Templates
  • Section C:
    • Templates Continued
    • Template Specialization
    • typename
    • Enums
    • Nested Classes

To Do 10

Section C Exercise: CYODT EX1
Section C Exercise: CYODT EX2

Resources 10

Week 11 - Nov 12

This Week 11

  • Section AB:
    • Bitwise Operators
    • Exceptions
      • Try
      • Throw
      • Catch
  • Section C:
    • Implicit Casting Operators
    • std::string
    • std::vector
    • stl iterators
    • stl algorithms
    • Recursion
    • Introduction to multiple inheritance

To Do 11

Resources 11

Week 12 - Nov 19

This Week 12

  • Section ABC:
    • Multiple Inheritance
      • Memory Structures
      • Diamond Inheritance
      • Virtual Inheritance
      • Template Inheritance(Section C)
  • Section AB:
    • fstream
      • read/write files
      • copying files
      • binary vs text
  • Section C:
    • Exceptions Intro
      • throw
      • try
      • catch

To Do 12

Resources 12

Week 13 - Nov 26

This Week 13

  • Section AB:
    • Test 2:
      Test 2 solution on Github
    • Friday Class is canceled!
    • BigBlueButton help sessions will be on Saturday and Sunday, (Time will be announced Later)
  • Section C:
    • Exceptions (Cont)
      • Exception classes
      • Multiple Catches
    • New Keywords
      • inline
      • union
    • Constrained Casting
      • const_cast
      • static_cast
      • dynamic_cast
      • reinterpret_cast
    • Bit-Wise Operators
      • and ( & )
      • or ( | )
      • xor ( ^ )
      • negate ( ~ )
      • left bit shift ( << )
      • right bit shift ( >> )
    • Binary File Access
      • ios::binary
      • Casting to and from byte arrays

To Do 13

Resources 13

Week 14 - Dec 3

This Week 14

To Do 14

Resources 14

Exam Week

  • Wednesday Dec 11th, at 11:30
    OOP344AB, Room: S3031
    OOP344C, Room: S2148
  • Reference sheets?
    • 2 sets of bound notes (book + notes) allowed
    • Should be set (stapled papers or whatever)