TERM I
Week 1-
(07/10/98)First meeting with my supervisor (David Marwick). We discussed briefly about the nature
of the project ( Animated C++ tutorial on the WWW ). He also suggested what should
I do this term. We identified which will be the points of interest about the deliverable of this term.
- (10/10/98)-(12/10/98)Search Internet to find any existing C++ tutorial. I did find some interesting sites
which gave me some good ideas.
Week 2-
(13/10/98)Write a briefly description about my project. The project is about producing an interface
which will show how the C++ programs are structured, compiled and executed. The aim is
to teach novice programmers how the C++ programs are build and give them the
oppurtunity to execute these programs by giving their inputs. Therefore they could see
how the C++ programs run and observe their behaviour. Multimedia tools (audio e.t.c.)
could be used in order to make this tutorial session pleasant and easy to use.
- (14/10/98)Meeting with my supervisor to sign the project. I submitted the signed form to the 4th year
supevisor M.Trucco.
- (16/10/98)-(19/10/98)Search the library for relevant literature. Collect some books and dissertations.
The books are about JAVA, VRML and CGI. These are the possible implementation languages.
Feasibility study will follow to identify the pros and the cons of these implementation
types. The decision will be based upon what the system will be able to do and with which
manner. This could be identified by producing the systems requirements. These requirements
are going to be analysed. Together with the system's specification one of the predefined
languages will be used. Any combination is possible.
- The dissertations that I collected are about : AI algorithms tutorial, Web-based security
tutor and maths tutorial. The first two are Web-based. Therefore I had some chance to
see how my project will look like.
Week 3-
(19/10/98)-(23/10/98) I searched the Web to find out any projects about teaching using animation.
The majority of the sites that I've found by then didn't have any animation. There was some
info and code in a text format. From these sites I got some good ideas about the
structure of my Web page, since this page will not be only animation. Texts will appear
giving useful info, diagrams showing the structure of the programs e.t.c.
- (24/10/98) An interesting site, coming from Washington, gives me some very good ideas. This is
a tutorial about "Teaching Binary Tree Algoritms" and is using Java Applets. I had the oppurtunity
to see how the animation is taking place i.e. the interaction with the user.
- (25/10/98) I found an interesting dissertation topic in library. This is about a tutorial on the Web
using Java. Some new ideas came up.
Week 4-
(25/10/98)-(27/10/98) All the collected data from my search till now gave me some good ideas
about defining the specification of my system. I did find some non-functional requirements
describing what the system will be able to do. These are some brief requirements which will be
the starting point. Since the searching through the Internet and library and other sources
is continuous throughout the requirement's analysis, any changes and modifications will take place.
(I am refering for the period until the actual implementation).
- (28/10/98) Meeting with my supervisor. I presented the requirements specification. We had a discussion
on those. He suggested to examine these requirements in more detail since these are the base
from which the functional requirements will be derived.
Week 5-
(02/11/98)-(06/11/98)I paid attention about the draft requirements that I produced the week before. I looked
deeply in these requirements and I made some refinements and modifications. I added a couple of requirements
that I identified during the refined process. The requirements that I added were not of that much significance.
The primary and important requirements have been identified.
- (04/11/98)I had a meeting with my supervisor. I brought some questions about the contents of the Deliverable I.
I clarified some points that I was in doubt. I proposed to include some brief description of the initial system
and interface design. He suggested not to extend it in much detail.
Week 6-
(08/11/98)-(11/11/98)Based on the requirements improvement, I tried to analyze them giving a brief description about
the purpose of each of them. The analysis was in a non-functional requirements base. I also searched the library
for books or other references but nothing extremely new came up. I searched the Web, as well, without finding
any sites more different and exiting than the ones that I,ve found in my previous surveys.
- (11/11/98)I met my supervisor and I presented the analyzed requirements. He found these sensible but he
suggested to put some first priorities within these requirements, because this specification was giving the idea
of a huge system requiring much stuff to be produced. The suggestion was to identify some essential features which
might be defined and implemented before anything else. For example, I should concentrate in producing animated
codes about loops, selection statements (if..), functions, arrays and files, as these apear to be the basic and
common features of the C++ programs.
- We also looked through the project plan that I prepared. He found it proper with only one
suggestion: to think of the matter of the prototypes, i.e. to identify the prototypes that might be produced at some
stages throughout the project period.
Week 7-
(15/11/98)-(18/11/98)I started producing the Deliverable I. This week I've worked upon producing the Introduction and
the Background sections. I stated the aims and objectives of my project in the Introduction section. In the
Background section I am refering to the Internet, Html and why I am implementing my project on the Web. Also I am
refering to the computer-aided learning and the C++ in relation with the Internet. These two sections will be
enhanced with much more information like problem statement, review of the literature and choice of language.
I also worked on the requirements specification which I've modified according to the suggestions of my
supervisor from the previous week.
- (19/11/98)Meeting with my supervisor. I've handed in my first draft on the Deliverable I. There will be some feedback
on this. In this documentation I included and the modified project plan according again to my supervisor's suggestions.
Week 8-
(20/11/98)-(24/11/98) I worked more on the contents of the Deliverable I. I added some more information on the
Introduction and the Background chapters. I also started the initial testing strategy design. I produced some draft
strategy of how the system will be tested. It refers to the actual unit code, the entire system and the evaluation
from actual users.
- (25/11/98) Meeting with my supervisor to get the feedback of the first draft. I got very useful suggestions about
what to change, modify and correct. There were some unclear statements about the Introduction and the Requirements
chapters that needed to be clarified.
Week 9-
(26/11/98) - (01/12/98) I tried to make all the changes and corrections upon my supervisor's suggestions. I enhanced
the Introduction and Background chapters much more. These enhancements involve the literature that I found about
the subject of my project. This is about animation, computer-aided learning e.t.c. Also I am refering at the
implementation language(s) that I will probably use (Java, CGI). I enhanced more the testing strategy. Also I
found some other relevant projects, involving programming tutorials. I got many good ideas.
- (02/12/98) I met with my supervisor and I hand-in the second draft.
Week 10-
(07/12/98) I got the feedback from the second draft. It began to look better. My supervisor suggested a few changes.
- (07/12/98) - (10/12/98) I worked on the points that my supervisor suggested to correct. I made some final amendments
on the deliverable I.
- (11/12/98) Hand-in the Deliverable I.
TERM II
Week 1-
(11/01/99)I produced a storyboard of the system's interface. This shows the main functionalities of the system and the
interconnection between them.
- (12/01/99)Also I worked on the functional specification. I tried to identify the main functions of the system and
explain their operations. The format of the specification is based on the function's description and input/output.
- (13/01/99)Meeting with my supervisor. I presented the storyboard and some sample of the functional spec. I got some
suggestions about the functionality of the system and the interrelation of the functions.
- (14/01/99)I go on with the system's functional spec.
Week 2-
(17/01/99)-(19/01/99)I worked on the system's overall design. Bearing in mind the "Waterfall" model, I produced an
overall design diagram, a context diagram, a Level 0 and Level 1 diagrams.
- (19/01/99)Interview with my supervisor and second reader (Mr. J.Dewars). I answered some questions about the
system's implementation.
- (20/01/99)Meeting with my supervisor. The diagrams seem to be all right but he suggested to make use of a software
developing tool "Rational Rose"(Booch) in order to identify the classes and its objects and attributes clearly
since Java is a completely Object-oriented language.
- (21/01/99)-(24/01/99)I studied some Java documentation, about the creation of applets, windows and animation.
Week 3-
(25/01/99)-(26/01/99)I studied the case of producing threads. These are individual processes which run independently from any
other process.I found out how to create frames which are standalone windows with their features and event
handling. Also I identified the main features to create an animation in Java language.
- (27/01/99)Meeting with my supervisor. We looked through the threads, frames and animation and he suggested to start
coding in order to see in reality how all these features are working and behaving. Through the implementation I can see
the difficulties and the special characteristics of the applets and frames.
- (28/01/99)-(31/01/99)I produced some draft code. It is about the main window consisting of a menu with some choices.
Also I implemented a short code of Animation, highlighting a text by changing colors.
Week 4-
(03/02/99)Meeting with my supervisor. This draft implementation was interesting and a good starting point.
- (04/04/99)I got my feedback from the 1st Deliverable. It was satisfactory and very useful.
- (04/04/99)-(07/02/99)I produced some code about the interface. I implemented all the basic windows of the system
The handling event is some issue to deal with and of course the interrelation between the windows.
Week 5-
(08/02/99)-(09/02/99)I fixed the handle event (i.e. quit, open another window via a menu selection) and I implemented
some trivial concurrency (two windows displayed together) in order to get the concept of the concurrent
implementation since this is the main speculation of the system.
- (10/02/99)Meeting with the supervisor. There were some suggestions about the interface layout. These were useful
for the system's improvement. Also we discussed the matter of which version of Java should be used. The
implementation so far is in Java 1.1. I think I will follow this version.
- (11/02/99)-(14/02/99)The main speculation was about transferring the animation applet (with the text changing colors)
within a frame and improving it. Also some modifications in the interface design are taken place.
Week 6-
(15/02/99)-(18-02-99)I worked on the description window and I tried to find a way to display a short information
about the operation of each statement within the code window. The information will be displayed in a scrolling
way. There are some problems to fix with the scrolling functionality.
- (19/02/99)Meeting with my supervisor to discuss the coding so far. I got some useful suggestions on the system's
functionality so far.
Week 7-
(20/02/99)-(23-02-99)I studied the "Rationale Rose" (by Booch). I found it interesting and useful to use for the design
of my system. I produced some short documentation and diagrams using the object-orientation approach that Booch
suggests.
- (23/02/99)-(25/02/99)I worked on the animation window, where any variables, occuring within the code window, will
be displayed. The values of these variables will be updated in order to show the user their current state. A graphical
representation(i.e. boxes) will be used to display these values. This representation still has to be improved.
- (26/02/99)Meeting with the supervisor to discuss the draft documentation that I produced. We also discussed the
coding so far.
Week 8-
(27/02/99)-(04/03/99)I produced the first draft of the Deliverable II. Using the Booch approach I indentified the system's
functionality, its main classes and objects. I represented them using executable releases (i.e. functional spec) and
object-oriented diagrams.
- (05/03/99)Meeting with the supervisor. We discussed briefly about my first draft. I am getting feedback next week.
Week 9-
(06/03/99)-(09/03/99)I worked on the first draft of my Deliverable II and also on the coding so far, trying to solve some
problems on its functionality(i.e. display, concurrency). I fixed, partly the problem about suspending and resuming
the whole animation.
- (10/03/99)Meeting with the supervisor to get my feedback on my draft of Deliverable II. Generally the information
of the draft seemed to be right, but he suggested to look more on how the requirements specification (which
identified in Deliverable I) are going to be implemented.
Week 10-
(11/03/99)-(17/03/99)I worked upon the Deliverable II and tried to finalise it. Bearing in mind the suggestions of my
supervisor I tried to present the functionality of the requirements specification. I used the Macro Development
Process (which provides an iteration between the Analysis, Design and Evolution of the system). Also I used
the method called Design Space Analysis which provides a good insight of how I move from the requirements
spec to the design, showing the choices that I make and the reasoning on these choices. Finally, I included an initial
implementation section, presenting the coding I have done so far(screenshots are included as well).
- (18/03/99)I went through my deliverable II and finalised it.
- (19/03/99)Hand-in Deliverable II.
TERM III
Week 1-
(19/04/99)-(23/04/99)EXAMS. No action on dissertation.
Week 2-
(26/04/99)-(29/04/99)EXAMS. No action on dissertation.
- (30/04/99)Meeting with the supervisor to discuss the remaining job left for the last 5 weeks before the deadline
of the Dissertation.
Week 3-
(03/05/99)-(06/05/99). I worked on the description window and I managed to solve some problems that I had.
Now the information is displayed in the window using a scrolling effect.
- (07/05/99). Meeting with my supervisor to discuss my progress so far. He suggested to focus more on the
animation section and not that much in creating the Web pages.
Week 4-
(09/05/99)-(13/05/99). I tried to control the Threads of the three windows i.e. 'code', 'animation' and
'description' in order to run these windows concurrently. There were some problems in manipulating
the Threads.
- (14/05/99)Meeting with my supervisor
Week 5-
(16/05/99)-(23/05/99). I worked on the creation of the Web pages. I have created all of them. No problems
ocurred during their implementation. I also added some Java scripts in the pages, which
give them a better look and more dynamic functionality. No meeting with my supervisor this week.
Week 6-
(23/05/99)-(26/05/99). I finalised the Web pages. I also created a multiple choice questionnaire. This
questionnaire was implemented using JavaScript. I produced a first draft on the Implementation
and Testing section.
- (28/05/99). Meeting with my supervisor to show him my progress so far. He found the system
interface intuitive and interesting. I also gave him my draft for fedback.
Week 7-
(29/05/99)-(02/06/99). I had some problems with the concurrency of the windows within the Animation
section. Because of time limits I decided to transfer the control of each execution within each
window. None of the windows can control each other. Each of them is running in its own pace
in order to produce some fair amount of animation. The description window can be controlled
by the user. It can be suspended and resumed.
- (02/06/99). Meeting with my supervisor to get my feedback of my last draft. He found it basically
ok but he suggested to explain in more detail the implementation of the classes and what issues
arose during this implementation. I also show him my final version of my system
- (03/05/99) Evaluation of the system by 10 users.
- (04/06/99). Analysis of the evaluation. Basically the users found the system usable, intuitive
with good feedback and a fair amount of animation. I got many useful comments for a possible redesign.
- (05/06/99)-(06/06/99). Finalize Dissertation.
Week 8-
(07/06/99). Hand-in Dissertation.