Difference between revisions of "Weekly Schedule 20133 - OOP344"
(→Information) |
(→Information) |
||
Line 577: | Line 577: | ||
* 2 sets of bound notes (book + notes) allowed | * 2 sets of bound notes (book + notes) allowed | ||
* Should be set (stapled papers or whatever) | * Should be set (stapled papers or whatever) | ||
+ | |||
+ | === Assignment - The Application (R1.0) === | ||
+ | * Unofficial Due Date: <u>'''Friday, Dec 13'''</u> |
Revision as of 22:38, 9 December 2013
OOP344 | Weekly Schedule | Student List | Teams | Project | Student Resources
Under construction!
Contents
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 Sep 6th (Friday) 18:00
- Create an account on github
- Make sure your account name is presentable. This name will stay with you forever.
- Make sure your information on github is complete (real name, email, etc...)
- Send ONE email to me(Fardad) containing your git hub id
- subject of the email should be 344Github20133
- 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
- Create a blog (anywhere you like or use the one you already have)
- 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.
- Read Pro-git book
- Chapter One and Chapter Two
- 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
- Learn how to do basic editing in a wiki
Resources 1
- Etherpad
- Git
- Pro-git book
- GIT for OOP344 Projects
- Great 15 minutes tutorial that will give you basic understanding of Git
- Git GUI Client for Mac
- Github Client for Windows
- Generating SSH keys for github
- Wiki
- How to register your IRC nickname on freenode
- Compare IRC clients
- How To edit Wiki pages
- How To edit Wiki Cheatsheet
- Blogs
- IRC:
- Clients:
- How to Install XChat
- IRC Basic Commands
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
- Single resource that will give you all the knowledge you need about pointers, including information given in the last two classes. WARNING! Reading online tutorials is NOT a substitute to visiting in-class lectures.
- Type Casing in C++.
- Void Type
- Function Pointers
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
Blog Posts 3 |
---|
*:Zhen's slight improvement to Adam's code *:Adam's code
*:Len's slight improvement to Andrew's code *:Len's code
*:Ragu's slight modification to Zhen's code *:Ragu's Code
Takes advantage of: *:GitHub *:Object Oriented Concepts which include the class *:Preprocessor macro *:Namespace *:GitHub source code of all stages(Feel free to folk and improve)
|
Resources 3
- Void Pointers
- macros - Variable arguments list
- Command Line Arguments
Week 4 - Sep 24
This Week 4
- Project introduction
- Project Diagram (as drawn in class)
- bio, cio
- Declaration modifiers
- compilation process
- Real Signature of main()
- Variable Argument list
To Do 4
- Download project from github (do not fork, your code must remain private)
Blog Posts 4 |
---|
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
- Pointers (function pointers)
- DMA continued
- Virtuals
- Review
- Pure Virtual Pure Virtual & Abstract Base Classes
- Abstract Base Classes
- team assignments
- github private repos
- Project introduction
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
Blog Posts 5 |
---|
|
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)
Blog Posts 6 |
---|
|
Resources 6
- Linked Lists: http://www.cprogramming.com/tutorial/lesson15.html
- Linked Lists (video): http://www.youtube.com/watch?v=o5wJkJJpKtM&sns=em
Week 7 - Oct 15
This Week 7
- Project review
- Templates
- Linked lists
To Do 7
- Convert the dynamic integer array, done in class(intArray OR Array Of intArray), to a template and blog about it.
Blog Posts 7 |
---|
|
Resources 7
Week 8 - Oct 22 (STUDY break)
This Week 8
To Do 8
Blog Posts 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
- 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
- Section C:
- Section A and B
To Do 9
Blog Posts 9 |
---|
Resources 9
Week 10 - Nov 5
This Week 10
- Section AB:
- Casting
- Overload Casting
- Linked List w/ Templates
- Casting
- Section C:
- Templates Continued
- Template Specialization
- typename
- Enums
- Nested Classes
To Do 10
Section C Exercise: CYODT EX1
Section C Exercise: CYODT EX2
Blog Posts 10 |
---|
|
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
- Section C Exercise: CYODT EX3
Blog Posts 11 |
---|
|
Resources 11
- Templates - YouTube link (Bucky's C++ Programming Tutorials, videos 58-61): http://www.youtube.com/watch?v=W0aoAm6eYSk
- Application of Bitwise Operations very good video on bitwise operators
Week 12 - Nov 19
This Week 12
- Section ABC:
- Multiple Inheritance
- Memory Structures
- Diamond Inheritance
- Virtual Inheritance
- Template Inheritance(Section C)
- Multiple Inheritance
- Section AB:
- fstream
- read/write files
- copying files
- binary vs text
- fstream
- Section C:
- Exceptions Intro
- throw
- try
- catch
- Exceptions Intro
To Do 12
Blog Posts 12 |
---|
|
Resources 12
- A good tool for viewing and editing binary files: Free Hex Editor Neo
Week 13 - Nov 26
This Week 13
- Section AB:
- Test 2:
- 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
- Exceptions (Cont)
To Do 13
Blog Posts 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
Information
- 2 sets of bound notes (book + notes) allowed
- Should be set (stapled papers or whatever)
Assignment - The Application (R1.0)
- Unofficial Due Date: Friday, Dec 13