The Scala Media Computation Library (SMCL)
This project is targeted mainly for instructors and students of introductory programming courses. From instructors' viewpoint, its goal is to provide means to motivate students via contextualized teaching. There are many ways to provice context, and the approach choosen here is the one of multimedia computation, that is, programmatically creating and processing multimedia content in a creative way. To provide the necessary scaffolding for novice students already challenged to learn for example logical and algorithmic thinking, programming concepts and paradigms, a new programming language (in this case, Scala), and the related development tools, this library offers ways to concentrate only in the topics to be practiced while still producing hopefully interesting and attractive results.
Tools & Dependencies
This library uses sbt as its build tool. ...
Repository Content and Project Structure
This repository contains only the platform-independent files needed to create a fresh development setup of the project: source code and other resources as well as the some settings for IntelliJ IDEA. The essential structure of this repository is given in the table below:
|.idea||Platform-independent settings files for IntelliJ IDEA.|
|project||SBT's project folder.|
|Source files for SMCL's bitmap viewer separated into three folders:
(1) those that depend on JS/HTML5 platform,
(2) those that depend on JVM/AWT platform, and
(3) platform-independent files.
|Source files for SMCL's core separated into three folders as above for the bitmap viewer.|
|build.sbt||The project and build description file for SBT.|
Build products---including the packaged Java archives (.jar files)---are located under the generated
Setting Up a Development Environment
Cloning This Repository onto a Local Mass Storage
One possibility to clone this repository onto your local mass storage is to use Git itself. From command line this can be done like below:
git clone https://github.com/Aalto-LeTech/Scala-Media-Computation.git
This will create a
Scala-Media-Computation folder into the folder in which it is executed. Other possibilities to clone the repository include e.g. IDE plugins and other graphical user interfaces developed to make using of Git easier.
Installing Java Development Kit
Configuring Maven and Ivy
While Apache Maven is not needed to build this project, local artifact repositories for Maven and Ivy are needed when publishing build products of this project. What's more, SBT uses Apache Ivy for all dependency management, which means that a local Ivy-style artifact repository is definitely needed.
Installing IntelliJ IDEA and Related Plugins
Developing with IntelliJ IDEA and SBT
Building the Library