Subversion Repositories programming

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
438 6493 d 7 h ira /school/cs408/p3/ Added the original requirements used to write this program.  
432 6809 d 18 h ira /school/cs408/p4/ hw04.lisp:
* HI comes before LO in problem #2.
* Fix ordering of arguments in the "or" part of the cond in problem #2.
 
431 6809 d 18 h ira /school/cs408/p4/ hw04.lisp:
* Remove bogus fixme.
 
430 6809 d 18 h ira /school/cs408/p4/ Import CS408 Project #4.  
429 6816 d 23 h ira /school/cs420/p3/ Actions.py:
* Simplify actions a bit.
* Add a NPC part to Action, which is Negative Preconditions.

PROJ3.py:
* Make the monkey move (more or less) randomly throughout
it's possible moves, instead of fixing the problem.
 
428 6820 d 2 h ira /school/cs408/p3/ hw03.lisp:
* Simplify the solution for Problem 2. This uses a local function.
 
427 6821 d 2 h ira /school/cs408/p3/ Import CS408 Project #3.  
426 6821 d 3 h ira /school/cs408/ Get set up for CS408.  
425 6821 d 17 h ira /school/cs420/p3/ p3.tex:
* Add source code printout.

Makefile:
* Add a generic Makefile to run this program.
 
424 6821 d 17 h ira /school/cs420/p3/ PROJ3.py:
* Menu()ize the main loop.
* Break solving function out of main().

Meny.py:
* Add the Menu class, derived from CS420 Project 1 Menu.
 
423 6821 d 18 h ira /school/cs420/p3/ Initial Import of CS420 Project #3.  
422 6827 d 20 h ira /school/cs431/p1/ GanttChart.java:
* Remove unnecessary variables from for loops.
 
421 6828 d 2 h ira /school/cs431/p1/ ConfigParser.java:
* Add a check for a generic Exception, which will happen on any
error in the config file.
* Print an appropriate message after catching the above Exception.
 
420 6830 d 8 h ira /school/cs431/p1/ Change text strings only. No feature changes.  
419 6830 d 17 h ira /school/cs431/p1/ p1.tex:
* Add GanttChart.java to the output.

GanttChart.java:
* Automatically generate beautiful Gantt Charts.

Scheduler.java:
* Use GanttChart class to generate Gantt Charts now.
 
418 6830 d 23 h ira /school/cs431/p1/ LogEntry.java:
* Add a MsgType that represents a Process being added to the run queue.

Scheduler.java:
* Create an entry in the log every time a Process is added to the
run queue.
 
417 6830 d 23 h ira /school/cs431/p1/ Process.java:
* Have a Process store the time at which it will enter the run queue.
This makes delaying processes easily possible in all Schedulers.

Scheduler.java:
* Add a waiting queue, which holds delayed processes.
* Always add to the wait queue in addProcess().
* Add queueWaitingProcesses() function so all Schedulers have support
for delayed processes.
* Add schedulerFinished() function so that any Scheduler that uses the
default functions can know when it is finished.
* Add printTurnaroundTime() function to calculate and print the
turnaround time for this run of the Scheduler.
* Use printTurnaroundTime() in run() to print results.

FCFSScheduler.java:
* Switch to new interfaces in the Scheduler superclass.

SJFScheduler.java:
* Remove all of the custom delayed process support, it is now
implemented in the superclass Scheduler.
* Switch to new interfaces in the Scheduler superclass.

RRScheduler.java:
* Switch to new interfaces in the Scheduler superclass.
 
416 6831 d 3 h ira /school/cs431/p1/ Process.java:
* Add the wait time to the processor.

Scheduler.java:
* Update the wait times in scheduleCurrent().
* Add printWaitTimes() function to print the average wait time.
 
415 6831 d 18 h ira /school/cs431/p1/ Add LaTeX source for printing this project.

All Java Files:
* JavaDoc Documentation for all classes, methods, etc.

Makefile:
* Add doc target to build JavaDoc documentation.
 
414 6831 d 21 h ira /school/cs431/p1/ Makefile:
* Add proper dependencies to the Makefile.
* Finally, a perfectly working version.

Scheduler.py:
* Add printing of Gantt charts in the run() method.
* Remove verbose printing, since the Gantt chart displays the same data.
 
413 6831 d 23 h ira /school/cs431/p1/ LogEntry.java:
* Initial implementation of Log Entries, for use by Schedulers.

Process.java:
* Add copy constructor.
* Add more private fields. (Some not used, yet).
* Add equals() method.

Scheduler.java:
* Now an abstract class, not an interface.
* Add protected fields.
* Add default implementations of most functions.
* Add many functions to make writing schedulers easier.

FCFSScheduler.java:
* Switch to new Scheduler superclass.
* Use Scheduler functions.

SJFScheduler.java:
* Switch to new Scheduler superclass.
* Clean up private SJFProcess class.
* Use Scheduler functions.

RRScheduler.java:
* Initial implementation of a Round-Robin Scheduler.

Makefile:
* Minor improvements, still barely working.

Project1.java:
* Add SJFScheduler run.
* Add RRScheduler run.
 
412 6832 d 19 h ira /school/cs431/p1/ Project1.java:
* Initial implementation of the main functionality of CS431 Proj #1.

Process.java:
* A container for a process which is read from the input file.

ConfigParser.java:
* Parser of CS431 Proj #1's input file format.

Scheduler.java:
* Scheduler interface.

FCFSScheduler.java:
* Initial implementation of a First Come First Served Scheduler.

SJFScheduler.java:
* Starting point for a Shortest Job First Scheduler.

Makefile:
* Probably non-working makefile for this project.
 
410 6833 d 19 h ira /school/cs420/p2/ SudokuPuzzle.py:
* Re-implement the __iter__() function so that it doesn't need a
generator. This was the quick and dirty way ;)
 
409 6834 d 6 h ira /school/ Rename cs408/ to cs420/. I got the class wrong.

Add cs431/ and a directory for the first project.
 
408 6834 d 6 h ira /school/cs408/p2/ p2.tex:
* Initial Commit of printout.

PROJ02.py:
* Main program for CS420 Project #2.

PyCompat.py:
* Compatibility for school computers.

SudokuPuzzle.py:
* Include PyCompat for school computers.
* Print the initial puzzle configuration in solve().
* Add timing support.

Menu.py:
* Automatic menu generation.

Makefile:
* Automation.
 
407 6835 d 19 h ira /school/cs408/p2/ SudokuPuzzle.py:
* Add a return value so I can tell if a value was actually pruned.
* Add a way to enable and disable printing.
* Convert to the printsystem.
* Add some comments.
 
406 6836 d 22 h ira /school/cs408/p2/ SudokuPuzzle.py:
* Fully working version, including 'evil' puzzles.
* Splitting works now.
 
405 6836 d 22 h ira /school/cs408/p2/ SudokuPuzzle.py:
* Initial, mostly working version that solves Sudoku puzzles
using the Arc Consistency Algorithm.
 
402 6844 d 19 h ira /school/cs408/p1/ p1.tex:
* Add class number.

Makefile:
* Be sure to render as letter paper, not a4.
 
401 6845 d 0 h ira /school/cs408/p1/ p1.tex:
* LaTeX printout of this source.

Makefile:
* Easy way to run and clean this directory.
 
400 6845 d 0 h ira /school/cs408/p1/ HW01.py:
* Add Author,Copyright and License information.
 
399 6845 d 5 h ira /school/cs408/p1/ DrawGraph.py:
* Algorithmic improvement to render_stupid(). Makes it a LOT faster.
 
398 6845 d 21 h ira /school/cs408/p1/ PuzzlePiece.py:
* Forgot to include PyCompat class. Works on school computers now.

HW01.py:
* Always render in stupid mode, but additionally render in
graphviz mode if possible.
* Make "Quit" command work in the first menu.
 
397 6845 d 22 h ira /school/cs408/p1/ PyCompat.py:
* Add a compatibility class so the school computers work.

DrawGraph.py:
* Revert earlier changes. School computer fixes are now in PyCompat class.
* Add a check for yapgvb.

PuzzlePiece.py:
* Revert earlier changes. School computer fixes are now in PyCompat class.

PuzzleSearch.py:
* Revert earlier changes. School computer fixes are now in PyCompat class.
* Add a check for yapgvb.
* Only try to render with yapgvb if we have it.

HW01.py:
* Revert earlier changes. School computer fixes are now in PyCompat class.
* Add a check for yapgvb.
* Add "generated_by" to autogenerated root nodes.
* Make sure the start_node is labeled 'root'.

Graph.py:
* Revert earlier changes. School computer fixes are now in PyCompat class.

Menu.py:
* Revert earlier changes. School computer fixes are now in PyCompat class.
* Remove unnecessary function calls.
 
396 6846 d 2 h ira /school/cs408/p1/ Get rid of references to yapgvb everywhere. This SUCKS ASS because its now
tied to the version. God, I HATE the school computers.

Remove unused ordering_func().

Due to the school NOT UPDATING THEIR COMPUTERS, I have to waste a SHITLOAD
of memory, by duplicating a list just to reverse it. Grrr...

Add a print statement in HW01.py for nicer output.
 
395 6846 d 3 h ira /school/cs408/p1/ Lots of fixes for school computers (gotta hate them)!
Add render_stupid() to DrawGraph.
 
394 6850 d 6 h ira /school/cs408/p1/ HW01.py:
* Add the main file that handles the CS420 HW01 requirements.
* Basically, a menu driven interface to PuzzleSearch.

Menu.py:
* Add helper class that generates menus and gets input.
* Must handle callback functions yourself, most of the time.
 
393 6850 d 6 h ira /school/cs408/p1/ PuzzlePiece.py:
* Keep track of current depth.
* Keep track of goal node.
* Remove find_empty_pos(), add generic find_position().
* get_children() auto-increments depth.
* Add num_out_of_place() for heuristics in search.
* Add total_distance_from_correct() for heuristics in search.
* Add tests when module is run directly.

PuzzleSearch.py:
* Add SearchResult class to hold search results.
* Always return SearchResult when searching.
* Add many pluggable search algorithms.
* Updated tests to run with the new API.
 
392 6851 d 4 h ira /school/cs408/p1/ PuzzleSearch.py:
* Store the current search depth with each node.

Graph.py:
* Do not create a new Vertex every time we set the value, just
change the value property.
* Add more checking to getters / setters.
 
391 6851 d 6 h ira /school/cs408/p1/ DrawGraph.py:
* Add support for getting Vertex shapes from the Graph.

PuzzleSearch.py:
* Change MAX_ITERATIONS to MAX_NODES_CREATED. It's a better metric.
* Set start and goal node shapes.

Graph.py:
* Add Vertex class to store vertex data.
* Add support for setting a Vertex's shape.