reset password
Author Message
rabbott
Posts: 1649
Posted 22:46 Nov 08, 2015 |

As you prepare for your CS 454 presentations keep in mind that the primary goal is to show off the technical capabilities of the system you are presenting. Present examples that illustrate why someone would choose to use the system rather than write the same functionality from scratch.

Anon
Posts: 134
Posted 14:58 Nov 09, 2015 |

What exactly do you mean by write the same functionality from scratch?

darkserith
Posts: 45
Posted 16:18 Nov 09, 2015 |
Anon wrote:

What exactly do you mean by write the same functionality from scratch?

The whole point of a system/framework/library is to provide you with stuff you can do, without having to know how it does it. So you don't have to code it yourself. People have already written code for you.

The JAVA API library has, for example, an  "ArrayList" that people were able to use in CS 202.

You did not need to know how it was implemented until CS 203. In CS 202 you just knew that it worked, that it let you somehow create an array that was dynamic. It would have been a lot more work to code from scratch, some kind of data structure that dynamically expands or contracts in size as elements are added or removed. 

rabbott
Posts: 1649
Posted 20:50 Nov 09, 2015 |

I agree with Darkserith. From a larger perspective, any programming language is an example of a system that you can use even though you don't know how it's implemented. Yet it provides very powerful capabilities, including parsing and execution.

At an intermediate level, think about a GUI library in a programming language, e.g., Java Swing or Racket's drawing, keystroke, and mouse functionality. You can use those features in your own program to produce effects you want to produce. It would be a lot harder if you had to create those libraries starting with low level I/O operations before you could use them.

Another way to look at it is to think about the conceptual world that has been created for you by whatever system you are talking about. Once created, you can work within that world, using its features and capabilities to produce the effects you want to produce. Yet you didn't have to create that world.

In Racket the GUI conceptual world includes the notion of an image and the ability to create images of various sorts, e.g., circles, squares, etc. It also includes the ability to place one image on top of another and, of course, to let the user see the images you as a developer create. You don't have to do any of that -- and if you did want to do it, it would be a lot of work.

A presentation should describe what your system's conceptual world looks like and show how it can be used.