As outlined in the lecture notes for the class, our premise for the vital project is to "build a "fun" open source multi-platform educational software system, in which users chat with artificial characters who tutor them on fundamentals which prepare them for computer science."
The goals of our project are the following:
Each of these on their own brings a certain influence on the tools and choices we will need to make in order for us to be able to produce a usable result.
Creating a project with a goal of being fun could be difficult simply for the fact that fun is something that varies from one person to another. A real world example is some people greatly enjoy playing sports for "fun" while others will spend their free time reading a book or working on cars. While each is drastically different, they all do have certain aspects in common. Generally, people do not find something "fun" if it is tedious or cumbersome for then to perform. This would likely be a target for us in implementing our VITAL system; avoid being overly tedious and cumbersome on our users but be an engaging and enjoyable experience.
My experience has been that people learn drastically better, when they are learning something that they want to learn rather then something that someone else thinks they need to learn. Perhaps in making our project educational we need to ask ourselves how we can make people want to learn about Computer Science topics rather then expect the motivation to be solely self-motivated.
The VITAL project
http://www.templeofthesungame.com/Sun/TempleOfTheSun/
This
game was developed entirely out of C++, which is another reason why I think it
is a good example. It's like an Indiana Jones type game where you go around and
jump over things and shoot little bugs and there are also checkpoints where you
need to answer a question right to pass. These are C++ questions that start out
easy and then get harder. Here is an example:
int myArray[10]; myArray[10] = 10;
This code generates an error because:
a) There is no int in c++
b) myArray is a key word
c) The index of 10 is out of range
d) All of the above
After you pass each checkpoint, get a gold coin or kill a bug, you get more points. If your health goes below zero, you start at the last checkpoint and start with zero points. I think this would be a good model. We obviously wouldn’t be able to create something that nice, but it would be good to shoot for something similar.
LearnKey is an education software program that trains/teaches you the subject of your choice. It uses java/flash/windows media player to provide a platform to teach and demonstrate how to do certain tasks and ideas. I found it to be quite fragile and quite boring to use. For example, it would only work on windows platforms due to the method used to access the local file system required the Microsoft java virtual machine. It would throw exceptions when using the Sun JRE. It was also not very easy to navigate and interact with the software once you where running it. Often you did not know if it was still loading some content or some problem had happened because its user feedback on what was currently happening was very poor. One positive aspect of this software was its subject matter is broken up into smaller objects. The user was able to perform the tasks and complete them at their own time.
World of Warcraft is the award winning MMORPG game from Blizzard Entertainment. With 9 million people playing the game there are surely some lessons to be learned on how to make something fun and enjoyable. I have played this game for over two years now and I continue to enjoy playing it. I attribute a majority of this to the ability for many tasks to being done on my own time (though often with certain tradeoffs) and at my own pace. The game also provides a large social network, which has also been a factor in me continuing to use Blizzard's product. The process by which characters in the game gain experience as well as profession proficiency do have aspects that might be worth modeling for out own progression and experience tracking we will likely need to implement our Vital project. Also worth mentioning though, I have found the need in an environment like World of Warcraft that it does get irritating and frustrating when you find something that you do not know but are curious about it. Luckily, many websites act as a reference (such as http://www.wowhead.com or http://www.wowwiki.com). Having a built-in method of allowing users to lookup topics and find the information they need could be very beneficial.
The Education Arcade is a project whose mission is "to demonstrate the social, cultural, and educational potentials of videogames by initiating new game development projects, coordinating interdisciplinary research efforts, and informing public conversations about the broader and sometimes unexpected uses of this emerging art form in education." They have many resources about research into using computers to educate through more engaging (ok...games) experiences with the computer.
NCSALL stands for the National Center for the Study of Adult Learning and Literacy. This particular document talks about the use of computers as a tool for education and touched on topics that I thought could have relevance in implementing a computer learning system.
PLATO Learning is a company that provides many different level of educational software to schools. My previous employer used this software was used as an additional teaching tool for some classes. They have used PLATO for many years. The newer versions are web based and make use of flash/shockwave plus their own plugins to provide the content to users. From my experience, people did enjoy using PLATO.
This site has adventure games, such as puzzles and games that we could incorporate into our different stations. One of the games is a find the items in a room, which would be good for younger kids learning the different parts of a computer.
Most of these games wouldn’t be considered kids games, but I thought it would be a good starting point, as we can model any game to our specific need and age level. For example, we can turn a shooting game or whatever into a learning game by adding checkpoints where they have to answer questions and whatnot.

This is a link to the University of Saskatchewan computer science department’s tutorials. Students covering various different topics have created the tutorials. This could be a potential source for learning topics for our system. Some of them implement quizzes as well.
The Stanford CS Education Library is a collection of various Computer Science materials. It has multiple resources (one interesting pointer video). These tutorials could act as another source for potential ideas to implement as lessons to teach.
This site has many topics on computer science. They include calendars, assignments and exams/quiz that are given for the courses.
The ACM k-12 model curriculum lays out the needs to teach the discipline of Computer Science in k-12 education. It could be a good resource for topics to be taught in our project.
Free registration may be required to read thesis. This Doctoral thesis talks about using the digital game as a medium for communication about scientific subjects.
As a side note, 99% of the games that I came across were either flash or java apps. The ones that I am assuming were not flash or java had to be downloaded. The downloading option is one that we might have to consider, if we are to do this in C++. Otherwise, we might want to write the majority of the code in java. This way we wouldn’t have to reinvent the wheel and can use existing systems as guidelines to help us develop our own.
Trac labels it's self as an "enhanced wiki and issue tracking system for software development projects." It is integrated directly with Subversion and has built in issue tracking. It has the advantage of being more then just a bug tracking system as well as providing a wiki (nice for sharing information) environment. It is used by many open source projects. Trac could be our bug tracking software as well as a central place to document plans/roadmaps of progress and ideas.
Eclipse is a free open source Integrated Development Environment (IDE) that is written in java. It runs on all the major platforms (Windows/OSX/Linux) and is largely plugin driven. It is generally considered a Java development tool but plugins for UML, PHP, HTML and even C/C++ (I use this on Linux regularly) as well as plugins that allow the access to cvs/svn systems integrated into the system. Concerning C/C++ development, I believe only the gnu line of compilers are supported but it does work on windows with mingw. Eclipse provides a flexible and powerful development environment that runs on multiple platforms.
Eclipse's support for UML includes generating method prototypes from UML descriptions through what's known as the Eclipse Modeling Framework.
Eclipse links:A MySQL tutorial using PHP. Would be helpful to teach newcomers to MySQL as well as another example of a teaching layout.
Subversion (referred to as svn) is a free open source version control system that was largely designed to replace CVS and so it implements most of the same features as well as some fixing annoyances that had irritated users of CVS for year. It is in use by many different projects and is quite popular in the development world such as sourceforge (http://www.sourceforge.net) and the KDE/GNOME projects. Clients exist on all major platforms as well as plugins for programs such as Eclipse. Subversion gives an easy to learn source code revision control system that is popular.
Git is a free open source distributed source code management tool. It was designed to be fast and efficient and is becoming increasingly popular for having unique features over its competition. Since it is a distributed tool, a cloned git repository is fully working with tracking and switching between versions even without network access. Patches can then be "cherry picked" from one working set into another. It generally has a steeper learning curve to that of Subversion. Git is in use by man projects, some of which are very large such as the Linux Kernel and the WINE project. Git provides us with a fast distributed (each checkout is effectively a full backup) revision control system as well as tools to narrow in on code breakages such as git-bisect.
TortoiseSVN - Open source subversion client for Windows, not meant to integrate into any specific development environment.
Cairo is a cross platform open source vector graphics-drawing library. It allows the output of high quality vector graphics to different platforms (Windows/OSX/X11) as well as PDF, PS, SVG and images. It is primarily used as the graphics rendering technology behind the GTK+ toolkit as well as the GNOME project. It will also be the rendering engine of the up coming Firefox 3. It is written in C and has binding for multiple languages. Cairo could benefit us by providing high quality display independent graphics.
SDL is a cross platform open source multimedia library. It allows low-level access to the resources of the computer such as audio, video and input. It has built-in integration for OpenGL allowing the same initialization code to work on all platforms it supports. It has many add-on libraries that add various abilities from font rendering to sound mixing. It works on all major platforms and language binding for most languages. SDL could be useful if we chose to not use one of the mainstream toolkits and implemented a much more basic interface of our own designing.
OGRE stands for Object-Oriented Graphics Rendering Engine. It is a 3D rendering platform rather then a game engine. It is available under multiple licenses including open source and runs on all major platforms. It supports both OpenGL and DirectX as rendering systems. OGRE claims to be design led rather then feature led and as such is very proud of its object-oriented design. It provides many built-in scene managers as well plugins to extend its capabilities. It has the ability to conveniently integrate with SDL. This could be of use to us if we chose to do some type of 3D graphics but did not want to have to mess with the individual platform difference we would have to otherwise.
Firefox is a cross platform open source web browser. It also provides the environment to create other applications using its platform. Applications are largely defined in XUL (and xml user interface language) and then JavaScript is heavily used to interact with the interface. This could provide a cross platform foundation on which to build a client. Since it based off the browser technologies all the features from it are available such as the canvas/SVG abilities in firefox 2 and firefox 3.
Silverlight is Microsoft’s attempt to make a competitive product the Adobe's Flash. Microsoft provides an implementation for both Windows and OSX. The mono project has begun implementing Silverlight for use on Linux and other supported mono systems. There version goes by the name of Moonlight. Silverlight is meant to deliver media rich interactive experiences over web to its users.
GStreamer is a graph based media framework. I allows the user of it to create of graph of the needed media processing elements to perform needed operations on video and audio. It is written in C through the use of the GObject system. It runs on all major platforms (Windows, OSX, Linux) and is opensource. It is the official media framework of the GNOME project but is also used in the Flumotion streaming server (http://www.flumotion.net) and the Songbird (http://www.songbirdnest..com).
QT is an open source cross platform C++ GUI toolkit. It provides many built-in widgets such as buttons and canvases as well as the ability to write your own. It has GUI development tools to aid in the creation of your typical user interface. QT is the backend toolkit used by the KDE project. It is well supported and actively being worked on. QT would provide us with a cross platform toolkit.
Qt integrates seamlessly into eclipse and it is a great GUI development tool. I am unsure of its networking capabilities but it does provide both 2d and OpenGL graphics capabilities and the demos seem to imply networking, database and awesomeness compatibility.
4) QT-Eclipse integration
If
you decide to look into QT this is a great place to go for information
on integrating QT into eclipse. There is a small install file
distributed by Trolltech (the makers of QT) and apparently this
integration runs on linux as well as windows. They say support for
MacOS is on the way soon.
GTK+ is an open source cross platform toolkit. It runs on Linux primarily but works on Windows and OSX support is mostly implemented. It is written in C using the GObject system though binding for most languages are available (C++, python, perl, php, ruby, etc). It provides many built in widgets and the ability to make your own. It is used by the GNOME project as the backend toolkit. GTK+ would provide us with a cross platform toolkit chain.
1) Wikipedia’s article on Virtual Learning Environments
This article is related very closely to what we want to do. It seems to
think that virtual learning environments should be directly linked to
classes and does not give the impression that most “VRE”s are as
interactive as the software I imagine we will create.
2) Wikipedia’s article on Educational Technology
This article is an interesting read and very relevant to our project.
3) Wikipedia’s article on Learning
This
article gives a brief overview of some of the types of learning and
teaching. A good place to start in order to get an idea of what it is
we need to accomplish.
4) Wikipedia’s article on Teaching
This article is an overview of various aspects of teaching. The section on education process is somewhat relevant.

Note on this section: I found many software applications that looked promising however very few of the programs that seem to have merit have free demos or are free.
1) GoMath.com Games
This
is a good interactive teaching site. It has some great minigames to
improve basic math related skills. What it lacks is direction and
testing of the student’s skills.
Educational Related Links:
I found an interesting link http://www.funderstanding.com/about_learning.cfm that points to many more links regarding learning and the fundamental differences between different people/learning styles. I feel that further reading into some of the links here at this site can better help us understand what types of learning applications we should create to better cover all the aspects of learning.
Since the focus of our project is mainly geared toward the younger crowd I found a good deal of example links that have math related learning games that would help benefit a student/child in their journey to becoming mentally ready to dive into an Engineering related field later in life.
http://www.oswego.org/ocsd-web/games/spookyseq/spookyseq2.html Is a Cool site that could help a child master the recognition of patterns while also learning to perform simple edition. I do not really see any penalties or anything for many of the learning games I found online, the only thing I can see that this particular game offers when the player enters the incorrect value is that it gives out a terrible sound. One thing that could benefit a game like this would to be for one, offer a hint, or maybe take notice of the error and maybe add in one of the correct values to help the player along until they are able to master the current skill setting.
http://forums.cisco.com/CertCom/game/binary_game_page.htm Is a sweet game that I found that helps a student learn how to do binary numbers and how to quickly calculate them, add them together etc. It was actually quite fun and I played it for a while =)
http://jwart.com/games/binaryfun.php is another game that would not be a bad option for binary type learning.
Development Tools:
This looks like a pretty cool development tool http://anjuta.org/screen-shots looks like it is platform ready for unix/linux environments. Has a built in compiler and looks like it works a lot like visual studio but in a unix environment.
Another alternative would be http://www.eclipse.org/ which actually looks like it might be far less prone to bugs and is not in a beta phase as far as I can tell. I think I heard mention of this development environment in class, but I am placing it here in this archive since I support the idea of using this tool to aid us in our project.
BUG Reporting:
I have used and
actually use this tool at work for tracking bugs related to network
related issues. It is called bugzilla and it integrates well with MYSQL
databases, something I have never really coded or dealt with in the
past very much, but it would not be a bad bug tracking system where
everyone could possibly track new changes to bugs etc.
http://www.bugzilla.org/
Bugzilla's system requirements include:
Currently supported database systems are MySQL and PostgreSQL. Bugzilla is usually installed on Linux and runs using the Apache HTTP Server, but Microsoft Internet Information Services or any web server that supports CGI can be used. Bugzilla's installation process is command line driven and runs through a series of stages where system requirements and software capabilities are checked.
Languages
Visual C# http://msdn2.microsoft.com/en-us/vcsharp/default.aspx
I strongly recommend C# for this project. The main reason is because as a employee in the professional programming industy (I currently am an active employee in a development contracting business), I see more web based projects coming through than anything and every single one of them are based on the .net platform. I have seen zero of this in college thus far. It is a little disappointing knowing most students are going into the industry with no prior knowledge of anything except for what they learn on their own. This set asside, C# is a great language and would make our lives much easier to work with as a ton of stuff is already done. C# combined with asp.net is also more secure than php.
Tools
Visual Studio 2005 http://msdn2.microsoft.com/en-us/vstudio/default.aspx
Most people are anti-microsoft but I have to say it is the best IDE created. This is a personal opinion but it does so much for the programmer and saves so much time. Time is always a plus in class and the industry. You may be thinking how can we use Visual Studio as it is not free and open source. Every CS student has access to MSDNAA and I think we should take advantage of it. It provides the students with most of Microsofts products free of charge. This includes Visual Studio 2005 professional.
Technologies
Online Tutorials About Introductory Computer Science
http://www.laynetworks.com/assembly%20tutorials.htm
This site has tutorials based on assembly language and the C programming language.
Information Problem-Solving With Technology
http://www.big6.com/showcategory.php?cid=6
This site has information on how to integrate technology tools in solving problems.
Code Generation Network
http://www.codegeneration.net/tiki-index.php?page=ToolLibrary
This site provides pointers as to which tools to use when you are building a specific piece of software.
It recommends tools that can be of some use when programming in Perl, Python, Ruby, Java, and C#.
However it does not mention much on the tools for C or C++ since they are platform specific.
Application Development Trends
http://www.adtmag.com/article.aspx?id=7850&page=
This site talks about 40 tools that incorporate at least one of the major aspects of UML-based modeling.
The Code Project
http://www.codeproject.com/csharp/codegenstool.asp
This site contains Code Generation Tools Complementing Generics.
PHP tutorial
PHP might be a backend for us and as such those that don't know it(me) will have a
good resourse for learning and developing code. while it might be a single groups
project to do the PHP the class might have to learn it if they need to read the
PHP or write small functions/programs.
learning site
this might be a site we model ours off of. the site is a learning site for
comparing scores with other students around the country. maybe what ours looks
like
Power of the internet for learning
ed.gov site explaining the ability to learn using the internet. might have a
few ideas that will better our page to help our target group better able to learn.
FBI site on internet safety
while our site will be tame for learning, we can gain parents support if we can
make use of the FBI's information. if our site is a bastion for learning and safe
internet then parents and teachers will be more open to allowing there kids look
at the site and using it.
Javascript tutorial
along the same lines of the PHP tutorial, javascript might be a language that is
used to program part of the page. as such the group or class will have to learn
the language and a tutorial or simple guide will be more then good for our page.
Apache
our site will have to be hosted and maintained by ourselves, so our own webserver
will serve that use well. apache is one of the best free servers and so it might
be good to hop into the bandwagon.
mysql
a database might have to used in our page. mysql is free and a good fast implemention.
some of the other databases need a lot more setup and experience time, and so this
simple fast version for a class that might not have database experience.
qbasic tutorial
while qbasic isn't a language we will be using, the concept of an easy to learn
language might be another subject that we teach the target group. a lot of
programmers have made basic there first language because of the simple nature of
the language. maybe part of the pages subjects will be like programming tutorial.
basic will be a good language for this.
TopCoder is a great example of an interactive, online computer science resource. The model of presenting a problem, allowing students to enter their code online and give feedback is excellent.
TopCoder is a competitive programming website. Members compete in
many different facets of programming, from algorithmic, to full fledged
software component design and development. Algorithm matches are by far
the most popular events, testing a programmers speed and accuracy to
solve story problems with a defined range of inputs. The competitions
themselves take place in a Java applet which allows users to code,
compile (on the server), and test their program in a protected
environment before submitting. The programs are then tested by a series
of inputs
and expected outputs. Scores are given based upon the time it took to
submit the problem and on successful completion of the system tests
(failed tests result in 0 points for the problem). Members are also
allowed to practice outside of the matches themselves with old
problems. To further refine their skill, members can visit the
"Educational" section, where there are various tutorials written by
other TopCoder members.
acm.uva.es Online Judge
This site has a large repository of problems that have been asked
in ACM competitions. The site allows members to submit code to be
tested and judged on their servers. As opposed to TopCoder, this site
does not impose any restrictions on time limits. Instead, users can
submit as many times as they want until their code passes the system
tests. Members can also keep track of what problems they've completed.
This website (along with TopCoder), may provide good examples of the
types of problems we want clients to solve in the more advanced stages
of their education.
Syvum Online Education
Syvum is a web-based interactive education system where people can
come to learn and quiz themselves on a wide variety of educational
topics. From what I have seen, the quizzes are either some form of
multiple choice question or a matching type question. After you hit the
'score' button for a particular quiz problem, it will mark if you've
got the problem right or not. It also provides an explination of the
correct answer regardless of whether you are right or not. Then you
have a button to advance to the next question. Instead of guessing to
find out the answers,
the website lets you look at the problems and the theory behind the
answers (including sample input/output for the C++ programming ones).
The interface is very simple, with no effort towards making the
'experience' any more interesting than other simple webpages. In fact,
the webpage is littered with ads (left side, in the middle of the quiz
questions, at the top and bottoms of the pages). It can be a bit
overwhelming to new
users. Some of the features of the website (like reviewing a question)
are only available to "Premier Members". One nice feature about the
website
is that it can appear in a variety of different languages. That is a
nice feature to have, though I am not recommending it for our project.
I doubt that many of my fellow classmates speak other languages
fluently enough to make a successful translation. We might, however,
consider leaving the project open to allow for language modifications
in the future.
VITAL Educational Aspects:
| URL: | Description: |
| http://learn.serebra.com/wwl/index.cfm | Contains Computer Science courses for pay including demos which show the content of each course. User Log in. |
| https://link.mindleaders.com/e-learn/try.asp?batchmode=&associd=WORLDW005 | Contains Computer Science courses for pay and for free. The free ones include a description and inside of them there are excercises, questions, activities, video information, simulations, search options, seems like close match to future VITAL. |
| http://www.elearnuk.co.uk/courses/index.php?category=16 | This webpage has mainly pay lessons on computer science and in fact other areas of studies as well. However it does have a demo that shows how all of the class material is presented. This includes, lesson content, syllabus, info center, notebook and tests. |
| http://www.festra.com/index.html | This site is called Delphi Land. All of them seem to be free. This site contains Lessons, Forums, Tips, Code snips, Downloads and Links. Also the site has an option so that it could be viewed in a different language (Dutch). |
| http://www.gcflearnfree.org/ | Free computer learning site. Contains tutorials, classes. Also has a free membership, where once you sign up you have access to Bulletin Board discussions and access online support center. |
| http://www.learnasp.com/freebook/learn/ | This site is a pretty big library of lessons in various programming languages with source code examples. It also has a few links to different related books and sites. |
| http://www.microvideo.com/ | This is a site to learn mainly microsoft office tools through video. Many different classes for which you can sign up to give it a free try. |
| http://www.programmingtutorials.com/ | The name of the site speaks for itself. Many computer tutorials, including forums. |
| http://www.profsr.com/ | This site has a large amount of free resources for different programming languages. Including Visual Basic, SQL, XML and others. |
| http://www.testingcenter.com/ | This site actually focuses on testing the software. It tutors future testers. Has a sample lesson and course description. This is something that maybe an extra addition to VITAL. |
| http://www.ivc.illinois.edu/catalog/ProgramSearch.asp | This site is an acreditted university that offeres online classes, this doesn't have too much, however it does have a search layout for subjects and courses that are available. |
VITAL Tools:
| http://drupal.org/ | This site contains an open sourse platform and content management system for building dynamic websites. This program is capable of creating forums, discussion groups and news aggregation and other. I think this may be useful for creating discussion groups and forums in VITAL. |
| http://www.blastchat.com/ | This is a site that offeres a free chat room client for any website. Here you can also find a list of descriptions for the chat client provided. It looks like you can create multiple chat rooms and have private chat sessions. This may be useful for creating a chating interface in VITAL for students and teachers. |
| http://www.tutorialized.com/tutorials/Flash/1 | Open sourse flash tutorials for creating a dynamic website. Very Useful, that is if you let us use Flash in VITAL :)) |
| http://www.actionscript.org/ | Probably the biggest open sourse webpage for Flash/Actionscript online. |
| http://www.statcounter.com/ | This site provides an invisible visitor statistics analysis that is free of payment and Ads. This could be useful for VITAL to have some information for a webbase project on how many students are enrolling out of all that visit or to provide other information at the time or region they are visiting from. |
| http://www.aceboard.net/ | This site is another solution for creating a forum on any site for free. Registration is required. |
| http://www.sitepoint.com/article/php-mysql-tutorial | This site describes on how to build a database on any site using php and mysql. THis could be useful for VITAL to have a database of library station's info. |
| http://www.databasedev.co.uk/ | This is a site dedicated to database solutions using microsoft access. This could be another solution for creating a database. Access databases are more portable in my opinion than SQL or MySQL. |
| http://msdn2.microsoft.com/en-us/visualc/default.aspx | Is a site dedicated to visual C++. It has lots of resources. Since we have pretty much chosen to use C++ as a programming language for VITAL. Then using Visual C++ is a good way for creating user interface. |
Here is my initial research list for our VITAL project.
Tools:
-Organization:
http://www.eclipse.org/
Eclipse
for use as our IDE.
http://subclipse.tigris.org/
Subclipse,
integrates Eclipse with Subversion
http://www-128.ibm.com/developerworks/opensource/library/os-ecl-subversion/
Step
by step instructions for setting up Subclipse.
http://www.download.com/HTTrack-Website-Copier/3000-12779_4-10634972.html?tag=pdp_prod
HTTrack
Website Copier. Useful in windows for grabbing the entire page of
image(of stations) links so they can be viewed locally and much
faster.
- 3D Modeling
Couldn't find much in the way of existing virtual 3D libraries because there are too many more common meanings for things like "3D library"(a library of code used for writing 3D programs) or "virtual library"(an eBook collection) but here are some programs I found to do 3D work with C++
http://irrlicht.sourceforge.net/
Irrlicht
Engine. Open source C++ 3d engine, multiplatform, appears to be much
friendlier learning curve for people who haven't done much in the
way of programming graphics(like myself).
http://www.ogre3d.org/
Ogre
3D Engine. Object oriented 3D engine. Might be easier for us as
programmers to work with. Touts easier integration of code and
graphics than most others.
http://g3d-cpp.sourceforge.net/
G3D
Engine. Open source C++ 3d engine, multiplatform, capable of
impressive graphics(hopefully not too complex)
http://www.genesis3d.com/
Genesis
3D. Real time 3D rendering environment. Seems to have a good tools
and community for newcomers.
Hosting:
I'm not sure if we need a hosting solution for the organization tools or not. I recall that last year there was some discussion in the ACM as to whether we could get on campus hosting with the necessary permissions to run a CVS. I suspect since we're actually doing it for a course it won't be a problem, but here are some hosting options anyway.
https://opensvn.csie.org/
Subversion
hosting
Related Projects:
-Open Source:
http://etutor.sourceforge.net/
e-Tutor.
Open source online course tools.
http://www.atutor.ca/
ATutor.
Open source web interface Learning Content Management System.
http://www.olat.org/public/index.html
OLAT.
Online Learning And Training. This one is nice because it has
sections for notifications, notes by the student, and evidence of
achievement. I think these are all good ideas to put into our model.
-Closed Source
http://www.flextraining.com/
FlexTraining.
e-learning solution. Uses visual interface to set up the courses for
the students, completely web based.
http://www.internet4classrooms.com/on-line.htm
Internet4Classrooms.
Uses step-by-step instruction to teach people to do tasks on the
computer. Completely HTML based, but the quizzes at the end of the
sections might be a useful thing to model from in terms of matching
and incorrect answer reaction.
http://www.ccsd.edu/bardonia/LearningGames/LibrarySkills/
Library
Skill quizzes... not really the same way we want to do them, but an
example of what's out there now. Mostly just about the Dewey Decimal
system.
I went through some of the websites related to Virtual Library and websites that are related to offering online classes using some animations and other unique ways of teaching. I am not sure whether these websites serves the purpose because I was not able to find many websites related to what we are trying to do. Here are some of the websites I found:
This website is a guide to selected resources across all the main academic areas. It contains resources from different academic areas such as Agriculture, The Arts, Computing and Computer Science, etc.
http://www.csu.edu.au/education/library.html
Education Virtual Library provides online education for different education levels – Primary (K1-6), Secondary (K7-12), Tertiary, Post Graduate.
http://courses.cs.vt.edu/~csonline/
http://cit.ucsf.edu/powerpoint/index.php?step=5
In this webpage, the professor talks about adding different methods in the online classes the ability to listen to the instructor actually give the lecture, as one would in the normal classroom environment.
http://www.virtualclassroom.org/
The Global Virtual Classroom (GVC) project is a collection of free, on-line educational activities and resources. It aims to complement the efforts of governments and education departments around the world to integrate technology into their classrooms and curricula and to link their schools to the information superhighway.
http://www.njit.edu/v2/CCCC/VC/Papers/Teaching.html
This paper describes experiences and results of utilizing Computer Mediated Communications structured to create a Virtual Classroom (VC). Emphasis is placed on guidelines for using the technology successfully by incorporating "collaborative learning" activities.