Weekly Schedule 20132 - OOP344
OOP344 | Weekly Schedule | Student List | Teams | Project | Student Resources
Under Construction!
Week 1 - May 5
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
- pointers
- pointers and arrays
To Do 1
Due May 7th (Tuesday) 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 containing your git hub id
- subject of the email should be 344Github20132
- email content
- name: Your Name (exactly as it appears on your Seneca student card)
- nickname: Your Nick name
- Git hub ID: your Github id
Due by May 13th, 23:59
- Create a blog (anywhere you like)
- 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
- 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
Week 2 - May 12
This Week 2
- Git review - Git_Guide
- Operators
- review
- Logical
- Arithmetic
- Lazy evaluation
- operators in C
- pointers (continued)
- arrays
- arithmetic
- void
- functions
- Default Args
To Do 2
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
blog posts 2
- Easy picture explanation of how the Git works
- Easy and detailed explanation of Git transfer procedures using schema.
- Adding auto-completion to the git commands on Mac OS X
- Short guide how to set up auto-completion for the git commands on your Mac (using Tab to complete commands).
Week 3 - May 19
This Week 3
- Real Signature of main()
- Pre-Processor directives
- define (macros)
- include
- typedefs
- Variable Argument list example
- Namespaces
- friends
To Do 3
- program: int AscToInt(const char *num);
- program: char* nstrcat(char* name, ...) //Basically strcat with >= 1 arguments
Resources 3
- C++ Command Line Arguments
- Variable Arguments Handling
Blog posts 3
- AscToInt Solutions
- nstrcat Solutions
Week 4 - May 26
This Week 4
- Project introduction
- Project Diagram (as drawn in class)
- bio, cio
- Declaration modifiers
- const
- pointers
- methods
- const
- compilation process
- pre-processor directives
To Do 4
Resources 4
blog posts 4
Week 5 - June 2
This Week 5
- Const
- variable declaration
- Pointers
- References
- Methods
- Statics
- variables crowd source explanation
- Methods
- Virtuals
- Review
- Pure Virtual Pure Virtual & Abstract Base Classes
- Abstract Base Classes
To Do 5
Resources 5
blog posts 5
Week 6 - June 9
This Week 6
- Tuesday class, cancelled (makeup session and more during study break)
- conui review and Initial repo settings
- class member access operator review
- arrow and dot
- literals
- sizeof()
- operators (more in detail)
To Do 6
- Add your information to Teams1 List - Due NOW!
- After adding your information to the Teams1 List, click on your team name and update your Team Page to match your team requirements. - Due NOW!
- Add your your information to The Student List Page. Due NOW!
- complete your task in Release R0.1 - Due Monday 17th, 23:59
Resources 6
blog posts 6
Week 7 - June 16
This Week 7
To Do 7
- Add resize to IntArr
Resources 7
blog posts
Week 8 - June 23 (Study Break)
This Week 8
- makeup session and more (June, Tuesday 25th)
- 9:00 to ???
- please make sure you are rested and ready for a long day of study, new materials and reviews
To Do 8
Resources 8
blog posts 8
Week 9 - June 30
This Week 9
- New keywords
- inline
- auto
- nullptr
- Enum Review
- Introduction to Recursion some documentations
- Dyanimic Lists
- Doubly Linked Lists
- Intro to Exceptions
To Do 9
- Complete Doubly Linked List Implementation
- Blog about it
Resources 9
blog posts 9
Week 10 - July 7
This Week 10
- Exceptions tutorial: try catch
- Exception classes and objects
- Throw
- Try
- Catch
- Function Stack Review
- Glance at Standard Template Library
- Templates
- Templated classes and functions
- Default template parameters
- Templating Techniques (Inheritance with templates, mix-ins)
- Multiple Inheritance
- Multiple Class Inheritance
- Glance at Interfaces
- Diamond Inheritance Issues (Template solutions)
To Do 10
- Split up work with teammates for A2, complete skeletons of classes (Due July 12)
- Complete Template Exercise and blog about it
Resources 10
blog posts 10
- Stuck on "Templates Homework" (need help please) My Blog post - Alexander Snurnikov
Check my blog post, after word ATTENTION. Also, you doubled our code in two of your classes - Artem - //Thank you:) - Alex
- Working version of Templates homework, please feel free to check this out and comment - Artem Luzyanin
- Templates excerciseTemplate Blog Post- Prabhleen Bhupal
- Int to Bin attempt - Brad Stuart (I can't find the base code for the templates stuff, so I created this one for making an array of whatevers)
Week 11 - July 14
This Week 11
- Static Variable review
- The compilation process compilation steps
- Compilation order
- The linker
- Common Linker Errors
- Multiple Inheritance Cont
- Virtual Inheritance
- Advanced Template Use
- Template functions cont
- Template definition in CPPs
- Const review why & how?!
- New Keywords
- Volatile
- Union
- Arrays
- Basic arrays review
- Heterogeneous Arrays
- Standard Template Library
- std::string class
- Constrained Casting
- static_cast
- reinterpret_cast
- const_cast
- dynamic_cast
- Bit-wise Introduction
To Do 11
- A2 0.4 Milestone - Due July 19th
- No code exercise this week... INSTEAD: Blog about how you feel about the world of programming, where you want to go with your career, what professional options you are considering, etc!
Resources 11
- Does anybody know any good link to study heterogeneous array???
blog posts 11
- About the World of programming and future at all - Alexander Snurnikov
- The world of art and me -Artem Luzyanin
- An old man laments -Brad Stuart (Link is broken...)
Week 12 - July 21
This Week 12
- Bitwise operations
- Bitwise Negation
- Bitwise AND(&), OR(|), XOR(^)
- Bit Shifting
- Circular Bit Shifting
- Flag definition
- Basic Encryption
- XOR Cipher with key shifting
- STL
- std::queue
- std::vector review
- std::string review
- std::iterator review
- std::find
- std::sort
- std::binary_search
- File Streams
- fstream review
- fstream flags
- binary files
- saving and loading state from binary
To Do 12
- A2 0.6 Milstone - Due July 26th
- Implement a serialization function on our Doubly Linked List that writes the list to a binary file and a load function that loads the list from the binary file. Be sure to keep the list's structure intact. Proper implementations will net the student a bonus 0.5%, blog about result, but do not post code, instead email me your solutions.