3 Intermediate Computer Toolsbeing revised June 2006 - links updated |
| Contents | Introduction | Basic | Intermediate | Advanced | Future | Policy | Infrastructure |
The topics covered in this section should be considered core skills.
On the other hand - covering only these skills does not mean that a student is only fit for a job as typist. There are many specialised computer tasks which this intermediate section provides a basic grounding for careers such as
One additional notion that video editing does provide, is the abstract video: a video constructed entirely from transition effects.
Editing video can take a lot of time. It is best to carefully plan what is to be recorded and create the video without relying too much on editing.
For more complex painters that model 3D lettering and logos see the Advanced Chapter.
|
Version Number: 2.2
Revision Date: May 24th, 2000 License: Shareware Byte Size: 1,899,355 Cost: $49.00 Home Page: http://www.pysoft.com/?GIF_Designer_fr.html Also Available: Windows 2000 Version Also Available: Windows NT Version Description: 3D GIF Designer produces animated high-quality 3D pictures, titles, banner ads and buttons for your Web page or for a presentation. You can create animations from your own pictures (JPG, GIF, BMP, AVI) and easily add 3D text and shapes. The sprites technology enables control over placement, size, motion, appearance, soft-edged shadows and opacity. You can add unlimited number of 3D text strings with own color, font, size, extrusion, texture, rotation and lighting. For quickly getting started, design your own animation from over 30 professional templates (banners, buttons, logos), and then save as animated GIF or AVI movies, or as set of JPEG or BMP files. The files have optimized size and are 90 percent smaller than non-optimized. In addition, 3D GIF Designer allows you to animate sprites with several effects such as Swing, Rotate, Blink and Animated Coloring. |
tclkit.exe wikit.kitshould get you started and set up a wikit.tkd wiki file in your home directory, i.e. at the same level as My Documents. The wiki has several pages already builtin on how to use the wiki. Wiki's are now often used as a help subsystem to document applications. wikit has a builtin webserver. To start wikit as a webserver:
tclkit.exe wikit.kit -httpd <i>port</i>The port is typically 80 if this is the only server on your system. A wiki keeps all its webpages in a .tkd file. As mentioned above the default file is wikit.tdk. To specify another file, invoke it as the first parameter, so to invoke the webscool wiki to run as a server I use:
tclkit.exe wikit.kit webscool.tkd -httpd 80Wikit gives you a small wiki to start with, with a simple home page [1] and some help pages. The home page is called "My Wiki" which you will want to change the title of as well as the page contents. Changing the contents is provided for in the wiki, but changing the title of a page is not. However you can change the title of a page when running the wiki as a Tk program. When you edit a page you will see that the search entry field in the top right of the wiki window has changed to the page title. You can edit this.
ProtectedPages - this variable contains a list of page numbers which cannot be edited in the web/CGI environment. Thay can be altered in the local Tk environment.
EditInstructions - this variable contains the html that goes at the foot of every wiki page. You can edit this if you want to do something fancier, say with a logo.gif or add extra details. A grep on EditInstructions reveals that it is used in wikit.vfs/lib/wikit/web.tcl. This is the clue you need if you want to add other page formattinf featires to your wiki. Use the same technique - put the html code into wiki page 9 and alter web.tcl to put the variables contents in the right place in the wiki page for you. To do this you will need to unwrap the starkit, make the changes and wrap it again. The next section explains how to do this.
tclkit.exe "%1"
One example of a starkit in common use is the tcl wiki, wikit.kit.
To start your own wiki under windows use
tclkit.exe <i>wikit.kit myownwiki.tdk</i>To look inside a starkit, effectively unpack it, use the SDX (Starkit Developer Extensions) program, which is itself a starkit. This unwraps the file back into its directory structure much like unzip. I have found this awkward to do in Windows. Double click sdx.kit, having set up its default open behaviour under tclkit.exe. You then get a Tk Console and a seperate commandline window. In the command line window type
unwrap /Tcl/sdx.kit and Enter to create the /Tcl/sdx.vfs directory and subdirectories.
sdx.kit unwrap /Tcl/sdx.kitThe tcl wiki has more basics on starkits including a recommendation for the fractal mountain demo. The starkit archive has a library of starkits that you can just click and run if you have tclkit installed already. Of particular note here is the Tcl Tutor. SQLite is also available as a starkit.
This section introduces the basic processes in writing a program in any language, computer or otherwise. A program is a list of instructions that are written for a specific audience, man or machine, to follow in order to accomplish a specific task.
Given a computer game an inquiring student will want to get inside it and see what makes it work. Most computer games are available only as programs written in a compiler language, which are then compiled into machine code which is unintelligible. But some games are written in scripting language which is executed directly as the program is run. Students will quickly discover this and want to know all about the scripting language.
It is perhaps not productive to discuss compiler languages such as C and COBOL at this level. But scripting languages are accessible over the web and students are going to want to know about them very early on.
There are two languages commonly used on the web, JavaScript and perl, and others which are not so well known such as Python and Tcl/Tk. In addition there are other more complex interpreted languages such as Visual Basic of similar complexity to Javascript.
I have chosen to use Tcl is these examples. Tcl stands for "Tool Command Language" and is pronounced "tickle". Tcl is a very simple language with few "rules" and this simplicity means that it can be run on small computers. It is free and readily available. It is also available as a plug-in for web-browsers so that tcl scripts can run in web-pages. To this end it is useful for programming active exercises such as the Colour Theory Project. Tcl has a standard add-on called Tk which provides a relatively simple, easy to use, and intuitive Graphical User Interface. Tcl also has commands that allow interface with other computers, other programs and the Web. Tcl programs are also portable between Mac, Linux and Windows systems.
If we are going to take the trouble to teach children, even young children, a computer language we should consider several issues:
html head title body h1... b i p div ul ol li dl dd dt table tr td br hr img a
This should be sufficient for basic needs.
Introduction to xhtml
Teaching Tcl in class will require some careful preparation of class material scaled to a level suitable for the class age.
Basic Resources areThe major problem with this project is that some students will take it home, read up all the documentation over the web and complete it in 1 or 2 weekends.
Allowance will need to be made for precocious students and either a second project assigned to them. Or a term project in another field such as social science or arts be given to them so that they do not develop a bias to computer studies.
This project is appropriate for advanced year 7 intermediate students, or for 8 or 9 year high school students.
The fact that text editors already exist is a benefit for this project. It means that the student will be familiar with the problem and have a very clear idea of the required result. A good example is Windows Notepad. By writing an equivalent program that will actually be better than Windows Notepad, the student will get a real sense of achievement. The idea that writing a good, useful program is something that only adults can do, will be demystified.
While it may seem wasteful for every student to produce basically the same piece of software. The benefit in the exercise is not so much the "text editing" function. This is already provided by the scripting language and does not have to be written by the student.What the student writes is the "framework" for any general application program. This framework can then be reused by the student as a basis for other application programs he may wish to write. Because the students will "own" their source code, they will be free to develop the program in any way they see as being useful.
So the "reservations" about this exercise actually serve to highlight the benefits of the exercise.
The bitmap editor is slightly more complex and requires more thought and care with design than the text editor because the functions have to be provided by the programmer, whereas in the text editor the Tk widget itself provided all the basic text editor functions.
What is a bitmap?
A bitmap is the simplest piece of graphical information used on computers. It is commonly used to describe the small icons used on buttons in programs. Here are some examples:
Relational Database has an underlying mathematical theory which properly places it in the Mathematics syllabus along with other topics such as set theory and calculus. While for younger students it is possible to construct queries using intuition in a progressive manner to form more complex queries, perhaps limited connectives like AND only, an understanding of set theory and boolean operators is essential to grasping the full power of database query.
The problem with any RDB exercise is that it relies on lots of information and that takes time and care. Getting readily available information that is accurate, interesting and will provide interesting results is the main problem. Usually Databases exist to automate the processing of paperwork which is very boring. Databases were not invented for their educational and entertainment qualities. This means that finding an interesting project is 100 times more difficult than say finding a video editing project.
Designing and building a functional database is a very useful project - but it is a lot of work because Databases are typically used to process large amounts of information which must be captured, stored and maintained. Databases never exist exist in isolation. Databases exist only as a mechanism to assist some other project, therefore any Database Project should be seen as only being an adjunct to the Project in which it is embedded. Therefore thought should be given to designing a database which is an adjunct to some other tool and which has a useful purpose outside the class. Many of these projects have already been done, such as, CD database, image database. But there are still many openings, in particular databases which are accessible over the net for hobby enthusiasts of any sort. Examples are:
Databases used to be expensive to set up and could only justify their existence by being readily accessible and maintainable over a long period of time. THis is no longer the case. The SQLite database engine is so simple and easy to use that it becomes the preferred method for storing any and all application data.
Perhaps, the best, most obvious project is to make a database of student achievements that is used by the school. This is a "Scout Badge" type of system that issues Certificates of Achievement in various project areas which students successfully complete. A requisite tree could be designed, maybe oriented just to ICT skills to start with, and students could work at progressively collecting all the Certificates available, just like collecting Scout badges. This database would become part of the school's administrative infrastructure and effectively out of reach of students once it was completed. So this project is a oncer, but it could be extended year by year to include more subjects and become more integrated with the school's assessment system. This is far more in keeping with the way Databases evolve in reality. This system is discussed in more detail in the Infrastructure Chapter.
Here are some simple database projects which almost anyone can relate to.
It is difficult to see what compellingly interesting or useful outcomes will be provided by such a Database. The Database itself may not provide any useful information, and this of course makes it somewhat redundant. But there are several benefits from this Project. Students get an opportunity to explore their own cultural heritage. In particular in New Zealand the subject of Immigration will loom large for everyone and so this Project should be part of a Social Studies course on the History of Immigration in New Zealand. There are purpose built Database packages for genealogy, so the Database does not have to be designed from scratch, and the software for printing family trees is available. Presenting database information in interesting graphical formats is a useful aspect of the exercise. This shows how a list of words and numbers can be used to describe complex structures.
|
Here is what I have done with my entire 4th grade. It is working like a charm to teach the basics of database:
My latest venture into this is teaching data base, using Microsoft Access, to 4th graders (age 8 and 9). The curricular objective at that level is to create databases and use them with assistance. My first step in doing this was to create a data base myself, on solar system facts. I copied it to all the computers. I wrote up a fictional brochure dated 3 centuries ahead, about "Space Camp" for "Star Scouts" (replaces the ancient girl scouts and cub scouts) describing 3 summer camp programs that take place on various sets of planets. Then I wrote 3 "letters to mom and dad" from "star scouts" on 3 mystery planets. I spent 10 minutes in each class teaching about records and fields. Then I spent 5 minutes or so teaching about queries and how create them. Finally, working in pairs, they had to create their own queries in Microsoft Access, using the clues from the letters to build their queries, and analyze the search results to figure out which planet each "camper" was on. All my letters required that the queries be changed at least 3 times to become more narrow in scope. An example of a clue: "Dear mom and dad, we are less than 90 million miles from the sun." That narrows it down some, but one has no idea how much until one does a query into the database. Then one finds that several planets meet this criteria, so the students have to alter their query to take another factor into consideration until only one planet (record) meets the query requirements. When the kids figured out what my three planets were, the next assignment was to write letters of their own. In this assignment, they had to use 3 views of the data: table view, which allows them to see all values of a field, form view, which allows them to see all fields of a record, and query view which allows them to select a few fields and see all values for all records. They have to use me to test their letters (they are supposed to test it also), to make sure there are no logic errors, or to make sure the very first clue/query doesn't give it away. It has worked so smoothly you would be amazed! The teachers are amazed, too. All classes had over 90% of the kids easily building queries in the design view during the first lab. They had to analyze the letters, choose the correct fields, create their own queries, view the results, then go back and refine the query. All of my letters required them to go back and refine their queries at least 2 times. We are now having several of the classes writing their own "letters from home," and they have to use table views, form views and queries to write and test their letters. It's incredible! The bottom line is (1) these kids have become very comfortable using Microsoft Access and (2) they think it is great fun. WOW! What a victory. They **KNOW** what a record is and what a field is. They understand different views of data, and how to sort for ease of viewing. The second step will be for them to build their own database. We have several thoughts on this, but no decision as of yet. One idea is a "time travel" data base on Virginia history, another is an imaginary solar system. For 7th graders, I would think any curricular topic with lists of information would do. |
My personal reservation about this particular exercise is that I would have been able to work out the right planets immediately without recourse to the database or any other reference. I would have been wondering what this database thingy was doing in the Planetary Camp Exercise. However this is an excellent framework game for getting students to phrase database queries.
However it is interesting to note the early age at which database is being introduced to students. Typically this subject is being broached at Y6,7 and 8. The availability of database software makes this possible and one could criticize teachers for teaching database just because the software is there. However this is an unfair criticism. Database relies on quite a number of concepts that can be introduced to students at various appropriate learning levels. Here is a progressive list of concepts and a rough guide of appropriate years for their introduction. I have not matched up these concepts with their mathematical equivalents in the syllabus, and a little more work could provide specific indicators of when it is appropriate to introduce these concepts.
As well as a rather complete examination of programming techniques and the very readable introduction to mathematical theory, Volume 1 has very many interesting exercises, some of which are major projects. At the extreme end they explore the basics of what will eventually be recognised as Artificial Intelligence.
Here are projects on some simpler arithmetic systems. A knowledge of Tcl only is required for these, without using Tk.
The benefits of this exercise are comparable to the benefits of the Text Editor exercise. What is not so clear in this case is the usefulness of the application that the student is being asked to build. With many extremely sophisticated image processing packages available with very advanced features few children even bother to use the MS Windows Paint program. About the only place it is used actively in a creative manner is as part of NetMeeting so that you can draw diagrams of ideas to communicate across the net. How to do this using Tcl is a later project. But this painter can be extended in personal ways to create art work, to create colour combination systems, and using Tcl's time mechanism, even moving pictures, cartoons and presentations and displays.
To see an example of a fully developed painter based in the canvas widget look at tkpaint. For Windows, unzip the file and double-click on tkpaint16/tkpaint/tkpaint.tcl. Tkpaint is used to draw the diagrams in WEBSCOOL. These diagrams are all displayed as plugins. However it is important not to copy tkpaint in the Painter Project but rather to invent the user interface from scratch. It is the way that the user interacts with the tool which is the createive element in this project, not so much the resulting painter.This section explores dynamic storytelling. This is more like storytelling as it was done by the bards going back to Homer. In this format the reader gets to influence the narrative flow, or it may be altered at random. The most simple mechanism to be used in this case is dynamic page serving. The page that is served to the reader may depend on three factors: what the reader asks for, what the reader has already been served, and chance. The reader's identity must be remembered by using a sign on or a cookie. This process gives the writer more control over the way the narrative is accessed. However the frameworks for writing stories for this format are not all that different from the static example.
The dynamic story is not bound by having its pages fixed. The reader cannot presume to be able to browse the story. This means that the narrative direction and outcome can change completely and multiple endings are possible. The degree of variation depends on how capricious the author wants to be and how carefully the plot transitions are controlled. But given examples set by such satirical parodies as the TV series "Soap", there really are no limits.
All this can be accomplished by using the GET/POST parameters attached to URLs and a CGI script (perhaps written in Tcl) to process the parameters and select the next page to serve.
![]() |
Prev | Next | ![]() |