<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Program Structure Planning</title><link>https://sourceforge.net/p/hypertau/wiki/Program%2520Structure%2520Planning/</link><description>Recent changes to Program Structure Planning</description><atom:link href="https://sourceforge.net/p/hypertau/wiki/Program%20Structure%20Planning/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 01 Mar 2012 15:43:24 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/hypertau/wiki/Program%20Structure%20Planning/feed" rel="self" type="application/rss+xml"/><item><title>WikiPage Program Structure Planning modified by Samuel Jaeschke</title><link>https://sourceforge.net/p/hypertau/wiki/Program%2520Structure%2520Planning/</link><description>&lt;pre&gt;--- v5 
+++ v6 
@@ -27,13 +27,17 @@
 ---
 Using objects, just one possibility:
 
-- `Realm = Vector&lt;Realm_Semester&gt;` (this vector is the top parent)
-    + `Courses = Vector&lt;Course&gt;` (the 4 or so selected by the user)
+- `Realm = Vector&lt;Realm_Semester&gt;`
+    + `Courses = Vector&lt;Course&gt;` *(the 4 or so selected by the user)*
         * `Title`
         * `Classes = Vector&lt;Class&gt;`
-            -`Times = Vector&lt;Time&gt;` (timeslot options for each class)
+            -`Times = Vector&lt;Time&gt;` *(timeslot options for each class)*
 - `Workspace = Vector&lt;Timetable_Semester&gt;
-    + `Timetables_Generated = Vector&lt;Timetable&gt;` (possible timetables available)
-        * `Rank` (index)
-        * `Class_List = Vector&lt;*Time&gt;` (class times that make up the timetable)
-    + `Timetable = *Timetable` (pointer to selected timetable)
+    + `Timetables_Generated = Vector&lt;Timetable&gt;` *(possible timetables available)*
+        * `Rank` *(index)*
+        * `Class_List = Vector&lt;*Time&gt;` *(class times that make up the timetable)*
+    + `Timetable = *Timetable` *(pointer to selected timetable)*
+
+Language
+---
+I'm thinking C++ is a good idea, since it'll be most versatile. Once we have the binary we can compile it as a library for practically anything else. Also probably the most portable between architectures, without assuming a particular interpreter. And just generally most solid and stable and what we're all familiar with.
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Samuel Jaeschke</dc:creator><pubDate>Thu, 01 Mar 2012 15:43:24 -0000</pubDate><guid>https://sourceforge.netda356d296197fe0eb75a4fd036b7f7d06cdd2220</guid></item><item><title>WikiPage Program Structure Planning modified by Samuel Jaeschke</title><link>https://sourceforge.net/p/hypertau/wiki/Program%2520Structure%2520Planning/</link><description>&lt;pre&gt;--- v4 
+++ v5 
@@ -7,33 +7,33 @@
 
 - Scraper
 - Timetabler
-    - Enumerator
-    - Evaluator (discard any that contain clashes)
-    - Ranker
+    + Enumerator
+    + Evaluator (discard any that contain clashes)
+    + Ranker
 - Interface
-    - CLI
-    - GUI (Qt?)
-    - ncurses?
-    - PHP? (even if it is simply a frontend interfacing with a C++ binary)
+    + CLI
+    + GUI (Qt?)
+    + ncurses?
+    + PHP? (even if it is simply a frontend interfacing with a C++ binary)
 - Output (just a thought, if we want to get fancy)
-    - Print
-    - iCal
-    - Email
-    - Applicator (automatically enter into Access Adelaide; Rob's code will help)
+    + Print
+    + iCal
+    + Email
+    + Applicator (automatically enter into Access Adelaide; Rob's code will help)
 
 Ideally we'll keep these very modular, in which case we'll practically need an API between each. That way we can potentially develop multiple enumerator algorithms for example (better optimised ones later on) and easily swap them in. Also leaves the possibility to add scrapers for other unis (one of my Software Engineering mates at UniSA would be keen), and different interfaces (as above).
 
 Data Structure
 ---
 Using objects, just one possibility:
 
 - `Realm = Vector&lt;Realm_Semester&gt;` (this vector is the top parent)
-    - `Courses = Vector&lt;Course&gt;` (the 4 or so selected by the user)
-        - `Title`
-        - `Classes = Vector&lt;Class&gt;`
+    + `Courses = Vector&lt;Course&gt;` (the 4 or so selected by the user)
+        * `Title`
+        * `Classes = Vector&lt;Class&gt;`
             -`Times = Vector&lt;Time&gt;` (timeslot options for each class)
 - `Workspace = Vector&lt;Timetable_Semester&gt;
-    - `Timetables_Generated = Vector&lt;Timetable&gt;` (possible timetables available)
-        - `Rank` (index)
-        - `Class_List = Vector&lt;*Time&gt;` (class times that make up the timetable)
-    - `Timetable = *Timetable` (pointer to selected timetable)
+    + `Timetables_Generated = Vector&lt;Timetable&gt;` (possible timetables available)
+        * `Rank` (index)
+        * `Class_List = Vector&lt;*Time&gt;` (class times that make up the timetable)
+    + `Timetable = *Timetable` (pointer to selected timetable)
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Samuel Jaeschke</dc:creator><pubDate>Thu, 01 Mar 2012 15:37:39 -0000</pubDate><guid>https://sourceforge.net79aa9fa8a4334cb97fe480c4c5ffad865e496c3b</guid></item><item><title>WikiPage Program Structure Planning modified by Samuel Jaeschke</title><link>https://sourceforge.net/p/hypertau/wiki/Program%2520Structure%2520Planning/</link><description>&lt;pre&gt;--- v3 
+++ v4 
@@ -1,4 +1,4 @@
-Thought i'd get down some comments and elementary structure (largely based on [Jacob's ideas](http://www.facebook.com/jacob.shearer/posts/3489558763508)).
+Thought i'd get down some thoughts and elementary structure (largely based on [Jacob's ideas](http://www.facebook.com/jacob.shearer/posts/3489558763508)). Please comment :)
 
 Program Components
 ---
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Samuel Jaeschke</dc:creator><pubDate>Thu, 01 Mar 2012 15:35:29 -0000</pubDate><guid>https://sourceforge.neta759933d65ff1c949c44a7439d9ad14d1c151ada</guid></item><item><title>WikiPage Program Structure Planning modified by Samuel Jaeschke</title><link>https://sourceforge.net/p/hypertau/wiki/Program%2520Structure%2520Planning/</link><description>&lt;pre&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Samuel Jaeschke</dc:creator><pubDate>Thu, 01 Mar 2012 15:35:03 -0000</pubDate><guid>https://sourceforge.net6a675e296a60d75f86f6fa76772cd93521d7fae9</guid></item><item><title>WikiPage Program Structure Planning modified by Samuel Jaeschke</title><link>https://sourceforge.net/p/hypertau/wiki/Program%2520Structure%2520Planning/</link><description>&lt;pre&gt;--- v1 
+++ v2 
@@ -1,30 +1,32 @@
-Thought i'd get down some comments and elementary structure (largely based on [Jacob's ideas](http://www.facebook.com/jacob.shearer/posts/3489558763508)
-
+Thought i'd get down some comments and elementary structure (largely based on [Jacob's ideas](http://www.facebook.com/jacob.shearer/posts/3489558763508)).
+
 Program Components
 ---
 
 We will need:
+
 - Scraper
 - Timetabler
     - Enumerator
     - Evaluator (discard any that contain clashes)
     - Ranker
 - Interface
     - CLI
     - GUI (Qt?)
     - ncurses?
     - PHP? (even if it is simply a frontend interfacing with a C++ binary)
 - Output (just a thought, if we want to get fancy)
     - Print
     - iCal
     - Email
     - Applicator (automatically enter into Access Adelaide; Rob's code will help)
 
 Ideally we'll keep these very modular, in which case we'll practically need an API between each. That way we can potentially develop multiple enumerator algorithms for example (better optimised ones later on) and easily swap them in. Also leaves the possibility to add scrapers for other unis (one of my Software Engineering mates at UniSA would be keen), and different interfaces (as above).
 
 Data Structure
 ---
 Using objects, just one possibility:
+
 - `Realm = Vector&lt;Realm_Semester&gt;` (this vector is the top parent)
     - `Courses = Vector&lt;Course&gt;` (the 4 or so selected by the user)
         - `Title`
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Samuel Jaeschke</dc:creator><pubDate>Thu, 01 Mar 2012 15:34:37 -0000</pubDate><guid>https://sourceforge.neta62d6c5d4499c4712781a490a24825d0293e0bb3</guid></item><item><title>WikiPage Program Structure Planning modified by Samuel Jaeschke</title><link>https://sourceforge.net/p/hypertau/wiki/Program%2520Structure%2520Planning/</link><description>Thought i'd get down some comments and elementary structure (largely based on [Jacob's ideas](http://www.facebook.com/jacob.shearer/posts/3489558763508)

Program Components
---

We will need:
- Scraper
- Timetabler
    - Enumerator
    - Evaluator (discard any that contain clashes)
    - Ranker
- Interface
    - CLI
    - GUI (Qt?)
    - ncurses?
    - PHP? (even if it is simply a frontend interfacing with a C++ binary)
- Output (just a thought, if we want to get fancy)
    - Print
    - iCal
    - Email
    - Applicator (automatically enter into Access Adelaide; Rob's code will help)

Ideally we'll keep these very modular, in which case we'll practically need an API between each. That way we can potentially develop multiple enumerator algorithms for example (better optimised ones later on) and easily swap them in. Also leaves the possibility to add scrapers for other unis (one of my Software Engineering mates at UniSA would be keen), and different interfaces (as above).

Data Structure
---
Using objects, just one possibility:
- `Realm = Vector&lt;Realm_Semester&gt;` (this vector is the top parent)
    - `Courses = Vector&lt;Course&gt;` (the 4 or so selected by the user)
        - `Title`
        - `Classes = Vector&lt;Class&gt;`
            -`Times = Vector&lt;Time&gt;` (timeslot options for each class)
- `Workspace = Vector&lt;Timetable_Semester&gt;
    - `Timetables_Generated = Vector&lt;Timetable&gt;` (possible timetables available)
        - `Rank` (index)
        - `Class_List = Vector&lt;*Time&gt;` (class times that make up the timetable)
    - `Timetable = *Timetable` (pointer to selected timetable)</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Samuel Jaeschke</dc:creator><pubDate>Thu, 01 Mar 2012 15:31:03 -0000</pubDate><guid>https://sourceforge.net2298a49b4afd53fd9f1ceb6802ffd2bf2359eff5</guid></item></channel></rss>