OOP344 Team Funktion

From CDOT Wiki
Jump to: navigation, search

OOP344 - OOP344 Student List - OOP344 Teams - OOP344 Assignment One - OOP344 Assignment Two - OOP344 IRC Schedules



Upcoming Schedule

                      • (OPTIONAL) Team Meeting but highly recommended!!!

Tuesday, December 08, 2009 at 17:10

In person meeting in room 1133 in the Seneca@York library Be prepared to demonstrate your assigned class in it's current state

Please contact Ljubomir asap to verify if you will be attending this meeting.


Team Members

Last Name First Name Seneca Username Section SVN Repo ID Blog Url IRC Nick Phone Number
Austerberry Eric erausterberry C ops344_093svn143 Eric's Blog ericausterberry -
Chan Anton canton A ops344_093svn142 AC's Blog canton (647) 887-3539
Cho Ahreum acho14 A ops344_093svn141 Arum's Blog acho14 -
Gorscak Ljubomir gljubomir A ops344_093svn146 Ljubomir's Blog ljubo (647) 328-4807
Li Verity vzli B ops344_093svn148 Verity's Blog cubicu -
Pezeshki Neda npezeshki C ops344_093svn147 Neda's Blog neda -
Piltz Jonathan jmpiltz C ops344_093svn145 Jon's Blog Mr_88 (416) 738-9256
So Hyunju hso3 A ops344_093svn144 Hyunju's Blog hso3 -

Contact Persons

Contact Name Email
Ljubomir Gorscak gljubomir@learn.senecac.on.ca
Jonathan Plitz jmpiltz@learn.senecac.on.ca

First IRC Meeting with Fardad - SVN steps

Our first meeting with Fardad was on Tuesday October 27, 2009 at 17:00. Our team experienced a few problems with SVN. A summary, and an edited transcription follows...


  • "Check out" the repository.
  • The code you are working on now will be in "trunk".
  • In PRJ you will have a directory called "DOS".
  • Put source codes inside PRJ. Everything.
  • There is one text file with "your_name.txt".
    • If something is important and you want your team to know about it, you change the date and write it in your_name.txt.

By the next meeting, we must have the full repository created made build-able with all the classes mentioned in as2 desc.

An (edited) transcription of the IRC meeting

Check Out the repository:

Create a dir, and either use svn check out by right clicking on the directory or type: svn co svn://zenit.senecac.on.ca/ops344_093a14/trunk/PRJ

You must cd to the directory you created first. It will ask for the user id and password then you start working with the copy you just checked out. Add files, modify already existing files and so on, when you are done with your changes, you right-click on the dir and click on "svn commit" or type svn commit. This will apply the changed you make to the repository.

Now what if someone already made changes to repository?

Easy: You just right-click on svn update or type svn update and this will apply the changes to YOUR working local copy is you want to see what is on the repository it is "svn list".

  • ljubo: Why did "export" mess things up so bad?
  • fardad: Well, what happened is that you created a repository inside a repository.

Lets understand this that there is a repository on zenit and you checkout working copies on your computer from that repository. The commands you use are mostly:

Check out (only once) and then update, commit, list when you commit your code to the repository.

You can always checkout your code to another computer and work on it and then commit, then when you go back to your computer at home, you simply do an update and all the changes you made at school, will be applied your code at home.

Lets go through the steps

1st - checkout the code from the repository.

You gotta have an organizer the one who makes sure the tasks are assigned properly, (I recommend you have the same as the contact person)

2nd - The organizer must add the following files to the repository.

The io_def.h with ciol.h included for cpp in there (with extern and everything) and a prjmain.cpp file with a main and 8 "sub-main" functions for each developer. You can call those functions like: int neda_main() or canton_main() and so on. The real main function (main) should use have only one function call in it to one of those sub-main functions.

Each of you can have his/her own main to test what they are developing and update and commit will not ruin other developer's main. The only thing you need to do after an update, is to change on function call in main.

3rd - choose the best ciol written and add it to the repository or m (all these are being added to the PRJ directory)

When I say add the file to repository, all you do is to add the file to your working copy and then issue svn add filename (or right-click on it and then svn add) and the svn commit. Remember when you add a file, it will be marked to be added on next commit.

4th - Each developer checks out the code and then adds a "your_name".txt to the Docs dir in PRJ. This file is used as a log to register all you do currently, most recent task is on top then the organizer will assign classes to each developer from the definition of assign 2.

All you do first is to create a header file and cpp file with the same name as the class name, and then build the working copy and make sure it compiles. When you reached to a build-able stage, you commit the code so other developers can get the class in next update.

NEVER COMMIT A CODE THAT DOES NOT COMPILE. Your PRJ must always be build-able.

You have your own main testing your own class, it is at the final stages of the project where you work on the same main

Fardad's expectations

What I want to see by the next meeting:

The full repository created made build-able with all the classes mentioned in as2 desc. Just create the header-file and cpp file. I need to know who created which class by looking at the docs directory and your logs.

I expect you all to blog about this meeting.

You can look at other teams wikis for ideas and you should give ideas and suggestions to others.

Second IRC Meeting with Fardad


1) Assign classes to developers. Each person is to commit their own classes to SVN.

Don't let one person do it all.

2) Select a coil lib if not already.

3) Each student add/modify/commit his/her assigned classes. Please call the classes and files IO_Whatever. Create empty classes (but compilable) for classes with no descriptions or the incomplete ones.

4) Main gets created and compiled.

5) Project file whatever.vcproj is created, tested, added, and committed buy ONE person.

6) Everyone else updates their repository.

7) Organizer assigns classes with complete description (in the wiki) to be developed.

8) Fardad updates the code and checks it and becomes happy and enjoys his life!!!!


Mr_88: I think we can all agree that step 8 is the best one :)

Fardad: Again I expect blogs from those who didn't have it (short and to the point). Don't write the story of your life in the blog. Do the .txt files and update what you have done.

Fardad: What we are doing in OOP344 has never been done anywhere, and the world is watching now, and I am not kidding when I say that.

Other Team IRC Meetings

Fardad adds io_textedit

I am going to do IO_TextEdit.

I will right the steps as I am doing it

  1. I am adding a headerfile and cpp file to my visual studio
  2. In solution exp. rightclick on headerfiles, add / new item
  3. Added code/headerfile: "io_textedit.h"
  4. Now i am righclicking on sourcefiles/newitem code/cpp file
  5. Added save (gard?) code to the headerifle
  6. Included general headerifle in io_textedit.h. It will have all necessary definitions and includes for the project
  7. Adding io_textedit.h and io_textdit.cpp to rep
  8. Compiled and it was successful, so I will commit now

Done, you can now update you working copy and see what I did. You should do the same for all the other classes. It should not take you more than 30 minutes to do you part, just pick a class and write it.


klim4: What is the general headerfile?

fardad: io_def.h

klim4: We do not add our solutions to the repository do we?

fardad: No. Only PRJ.vcproj, which I already did

To Do


Please do this asap!!!

1) Update your local computer to reflect the current state of our SVN repository.

2) Change the project files so that your most recent contributions are included (be sure to communicate with others if you made changes to a class that was not assigned to you).

3) Write about what you did in your user.txt file

4) Add/Commit the files back to SVN so that other team members can work with your code.

5) Blog


Each team member should choose at least one class, and put it beside their name (you may have more than one, including ones that Fardad started or covered in his lectures). Remember, being assigned a class does NOT mean that you have to write it by yourself! All it means is that you are ultimately responsible for making sure it works properly. Ideally, we will be involved with many classes, and we should understand them all.

IRC Nick Current Task Status
ericausterberry io_label in Progress
canton io_edit, Vedit IO_Edit = 90% complete, Vedit = 90% complete. Minor Tweaks and Testing remains
acho14 io_textedit in Progress
ljubo io_form io_form can be created, framed, and contain classes that inherit io_field.
cubicu io_field, io_textedit field done, textedit in progress
neda io_menu, io_form IO_menu complete, io_form in Progress
Mr_88 io_frame Complete
hso3 io_textedit in Progress
fardad io_checklist complete


  • io_field
  • io_frame
  • io_form
  • io_label
  • io_edit
  • io_vedit
  • io_checklist
  • io_menu
  • io_textedit


This class assigning was only for the purpose of uploading empty (but compiled) files to SVN. See the current tasks starting November 10th for a more updated list.

Note: This menu is no longer relevant to the assignment. Ignore this table and look at the one below.

IRC Nick Upload Empty to SVN
ericausterberry io_checklist
canton io_edit
acho14 io_label
ljubo io_menu
cubicu io_menubar and io_field
neda io_form
Mr_88 main
hso3 io_textedit

Bonus classes:

  • io_form
  • io_frame
  • io_field


(by Thursday October 29, 2009 - 12:00)

1) Follow the steps to "check out" on SVN

2) Add a log in your_name.txt file to show we were there

3) Upload assignment 1.

4) Have the full repository created made build-able with all the classes mentioned in as2 desc.

Remember: Fardad asked us to blog "about what we expect to be done and not to be done in the next meeting."

Scheduled Meetings


Anton and Ljubo are meeting at Seneca@York library around 12:00.


Final Week of school for this semester

Please indicate all the times that you are available to work on as2, and if you will be at school or online. If two or more people are available at the same time, it may be good to book a private study room.

Room Bookings

  • Remember to select Seneca@York campus

Also, please use the user.txt files IN THE TRUNK to indicate what you have done, even if your work is posted in another folder. If something is not updating proper, send the team an email.

This is going to be a real challenge to coordinate and execute because of so many involved. Communication is the key!

Team Members Availability

IRC Nick Monday Tuesday Wednesday Thursday Friday
ericausterberry busy with exams After 16:30 at school All day whereever needed ditto ditto
canton - - - - -
acho14 - - - - -
ljubo Online - All day Library 09:00 - 11:00 and 17:00 - 20:00 Library 10:00 - 15:00 Library 10:00 - 18:00 -
cubicu - - Online 14:00 - indefinitely all day
neda - After 16:00 - 12:30 -
Mr_88 - 16:30 onwards all day all day all day
hso3 - - - - -
fardad - - - IRC Meeting - 14:00 -

ljubo: I booked room# 1135 in the library on Tuesday starting at 17:10 until 19:00 (maybe someone can book after 19:00 if we continue later?). I'm going to look into getting a projector so that it will be easy to look at the same code without squinting at the tiny screen (no promises though).

Mr_88: If anyone wants to work on the assignment in person, send me an e-mail, else I probably won't show.

ljubo: I may not be able to work the entire time indicated. For example, on Monday I plan to study for DBS301 a lot during the day. I put those times so that if more people want to work at the same times, I will adjust my plans to make myself available.


Tuesday, December 08, 2009 at 17:10

Optional, but highly recommended!!!

  • In person meeting in room 1133 in the Seneca@York library
    • Be prepared to demonstrate your assigned class in it's current state

Please contact Ljubomir asap to verify if you will be attending this meeting.



Saturday at approx. 12:00 pm (msg ljubo, neda, Anton for details)

  • Topics include : walkthrough of assignment
    • work on assignment (io_form, Io_label, io_edit)


Tuesday, November 24, 2009 at 17:15

  • In person meeting in room 1131 in the Seneca@York library


Saturday, November 7, 2009 at 12:00 noon

  • IRC Meeting with Fardad


Thursday, November 5, 2009 at 19:00

  • IRC Meeting with Fardad CANCELLED


Wednesday, November 4, 2009 at 17:15

  • In person meeting in the library at Seneca@York. Meeting is in room# 1135.
    • Main topic is to Review Assignment 2


Thursday, October 29, 2009 at 19:00

  • 2nd IRC Meeting with Fardad


Tuesday, October 27, 2009 at 12:35

  • In person meeting in the library at Seneca@York. Meeting is in room# 1135.
    • Topics include:
      • Review Assignment 1
      • Understanding SVN

Tuesday, October 27, 2009 at 17:00

  • 1st IRC Meeting with Fardad


Audio Recordings:

Fardad's OOP344 lectures


https://cs.senecac.on.ca/~btp300 <-- the degree version of oop344



northWind87: Cool website, I really like the design and contents. I hope that you don't mind us modeling out some of our site's elements after yours? Please feel free to let me know if that bothers you guys.

Ljubomir: np - Please feel free!

northWind87: excellent, thank you so much!