Difference between revisions of "OOP344 - 20101"
(→This Week) |
(→Week 7 - Oct18) |
||
Line 153: | Line 153: | ||
* Do Test Checkouts, builds and commits. | * Do Test Checkouts, builds and commits. | ||
+ | |||
+ | ==Week 8 - Oct 25== | ||
+ | ===this week=== | ||
+ | * Study break | ||
+ | * IRC classes | ||
+ | |||
+ | ==Week 9 - Nov 1== | ||
+ | |||
+ | ==Week 10 - Nov 8== | ||
+ | |||
+ | ==Week 11 - Nov 15== | ||
+ | |||
+ | ==Week 12 - Nov 22== | ||
+ | |||
+ | ==Week 13 - Nov 29== | ||
+ | |||
+ | ==Week 14 - Dec 6== |
Revision as of 11:56, 15 October 2009
OOP344 - OOP344 Student List - OOP344 Teams - OOP344 Assignment One - OOP344 Assignment Two
Please help make this page resourceful for all OOP344 students to use!
Contents
- 1 OOP344 -- Object Oriented Programming II Using C++
- 2 OOP344 -- Weekly Schedule
OOP344 -- Object Oriented Programming II Using C++
Subject Description and Course Outcomes
- Please visit the School Of Computer Studies website for the detailed description of the subject
The Project
The project for this semester is a multiplatform text based, Text Editor.
The project is divided into 2 main parts.
Individual work
Done individually! Each student must complete and hand her/his own work, no collaboration permitted for this part.
The assignment can be found here.
- Console Input Output Library (ciol)
- Basic Console Input Output (io):
This part is written in C language. It is responsible for handling basic input output features needed to interact with the console - Line and Selection Editor:
This part is written in C Language and only uses bcio routines, to interact with the console.- Line Editor
This is responsible for making a full edit on a single line of text and also provide basis for a multi-line text editor. - Selection Editor
It provides means (A Checkbox) to create selection lists or Yes/No queries.
- Line Editor
- Basic Console Input Output (io):
Open Source
This part will be done collaboratively in groups of 4 - 8 students under a simulated open source model
- Basic Encapsulating Classes (bec)
This part is written in C++ and encapsulates the io routines into classes - The Text Editor
this part is written in C++ and uses the bec classes to do full text edit.
Grading
To be completed
Resources
- How To edit Wiki pages
- Subversion (SVN)
- SVN book at red-bean.com or download the PDF from here.
- Mac Lab Available in 2108 as well as in the Computing Commons*
Examples
Examples and Notes done in class
Archives
Class notes, samples, tests, ... since 2001
OOP344 -- Weekly Schedule
Week 2 - Sep 13
This Week
C, a closer look to: define, include, macros, operators, statement evaluation, return value of main, return value of printf and scanf, Conditional Compilateion
Starting assignment one
To Do
Due date: Sep -17 - 2009 , 23:59 (11:59pm)
- Add your name to the OOP344 Student List
- Join the IRC by registering your nickname on freenode server and joining the #Seneca channel
- Create a blog (if you don't already have one) and add your feed to Planet CDOT
- Challenge: write this function without using any library functions; void GetInt(char *strint, int val);
this function gets an integer value and converts it to a string ("strint") - Challenge: Modify io_display function to the shortest code possible. Get the source HERE.
Week 3 - Sep 20
This Week
Starting Assignment one, starting the project
Pointers, pointer arithmetic, pointer to pointer to....,
To Do
- Complete last week's "To Do"s.
- Form the teams and add your team to the wiki
- Teams with less than 4 members and more than 8 are not acceptable.
- Merge or divide teams if necessary to adjust the number of team members.
- Teams' member selection must be finalized by Oct 3rd.
- Those without a team, join the teams with least number of members.
- Select a team leader who is going to be the contact person for the team.
- Challenge 3: using what we learned so far (logical operators, and pointers) write the io_display function in ONE line only(Due Sunday 23:59):
void io_display(const char *str, int row, int col, int len){ yada yada yada; }
Week 4 - Sep 27
Topics for this week
- #undef, casting, unsigned variables, multi-dimensional arrays and their pointer notation
- pointers to functions, pointers to pointers to pointers to...
- typedef, enum
To Do
- Complete last week's "To Do"s.
- Finalize Teams by end of the week (Sat Oct 3rd)
- If your team has less than 4 members, either try to merge your team to another team or break up your team and join other teams.
- After finalizing your members make sure your team wiki page is created and inculdes the list of all team members and their information
- Select and identify a first and second contact person for your group.
Week 5 - Oct 04
This Week
- Quiz 2
- Bits, bitwise operators
- a jump ahead and review!, C++, Inheritance, polymorphism, encapsulation
- default parameters, forward declaration, initialization vs. setting, virtual methods, pure virtual methods.
To Do
- Complete last week's "To Do"s, if not done already!
- Copy as1tester.c and run the test with your ciol.c and ciol.h
- A quick tutorial for SVN: Source Control in Ten Minutes
- Read first four chapters of the SVN book.
- Download SVN and install it on you PC from subversion.tigris.org
- windows: Tortoise SVN
- Linux (Fedora:
yum install subversion
) - MAC: already in Apple's Developer Tools
Week 6 - Oct 11
This Week
Dynamic Memory allocation
To do Dynamic Memory Allocation you need:
- Pointer of the type of the memory we are alocating
- If the pointer is already pointing at another already allocated memory, deallocate it.
- Allocate memory and set the pointer to its address.
- Use the memory.....
- When you are done, deallocate it.
To Do
- Assignment one is due Wednesday Oct 14th, 23:59
- Complete past weeks' "To Do"s
- A quick tutorial for SVN: Source Control in Ten Minutes
- Get ready for a quiz on Dynamic memory allocation and SVN next week.
Week 7 - Oct18
This Week
- Quiz on DMA and SVN
- Assigning SVN Accounts
- IRC Meetings with Teams.
To Do
- Upload your sources to SVN
- Do Test Checkouts, builds and commits.
Week 8 - Oct 25
this week
- Study break
- IRC classes