dSoftArk is focused on realistic software development - and that means a lot of industrial strength tools.
The central tools you need are
The only hard requirements in dSoftArk are Java and that all deliveries must build and execute directly from Ant build files. All provided code will run on Java 1.7 and newer versions.
Furthermore, from 2016 the recommended dSoftArk tools are IntelliJ IDE and Git for SCM. These are the 'safe bets' as the teaching assistents are all using these tools. I am not religious though, and indeed I use Eclipse but is working to test if I should make the jump to IntelliJ. All my courses are managed using Subversion but most of my code is managed by Git. When using Git I miss features from Subversion, when I use Subversion I miss features from Git... You are welcome to use any production tools you like as long as you spend your time learning dSoftArk techniques, not tweaking or reinstalling tools!
If you want to avoid the hazzle of installing a lot of tools, you can download a virtual ubuntu machine that has most tools installed.
To get going, you have to
Installing IntelliJ is rather simple, check the tutorial at itfoss,
and use method 1, using the PPA. Once installed, browse to
execute the jetrains-idea-ce shell script. This will configure
IntelliJ, including adding an entry into the systems menu under
The source code for the mandatory project is not installed. Get the zip from the mandatory exercise home page.
IDEs are nice and fast development tools but they are really bad when project must constantly move from one platform to another: which is exactly the case for your group and the TA! The TA needs to get hold of your code, execute it, browse and study it. Therefore the execution platform defining the truth about your code is raw Java and Apache Ant, run in the shell. If it works in your IntelliJ but not on the TAs machine when he/she executes 'ant test' then your hand-in has failed.
Java JDK Standard Edition. You will need the 'JDK' to get the compile. Make sure you update your PATH environment variable so you can execute 'java' and 'javac' from a shell. On Ubuntu Linux you can 'sudo apt-get install openjdk-8-jdk' and get everything you want.
Download it from ant.apache.org. You will need to set environment variables ANT_HOME, and JAVA_HOME, and update your PATH. For Windows these are manual tasks, refer to install. Again, Ubuntu linux is easier, just 'sudo apt-get install ant' and it is working.
For Mac, you can:
Install brew (if you don't already have it): $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" Install ant: $ brew install ant
As a supplement to writing reports, hand-ins may require you to make a screencast: A video of your computer screen while you talk us through the actions you make.
I use BandiCam for recording (Windows). The free version only allows 5 minutes recording (and do NOT tell that you has passed the 5 minute mark), so the around 250 kr license is a good deal.
Hints: On the 'Video' tab, make sure to check "Show mouse cursor" and "Add mouse click effects" as this greatly enhances the TA's ability to view what you have been doing!
I have no experience on the other platforms, but here are some suggestions from the TAs
If you need to append several clips into a larger cohesive video ( or cut out the part where it is obvious that you are in deep trouble :-) ), my current choice is avidemux which is free of charge but the user interface is, well, less than intuitive. But it can do the trick of truncating clips, append clips, and recode them into e.g. MP4 and other formats, without watermarks, nag screens, or requiring you to also get a zillion other programs.
To have a small video size for upload/download and to ensure playback use the MP4 format (Video: Mpeg 4 AVC (x264) [and click Configure and change to "Max Consecutive B-frames = 2" on pane "Frame"], and Audio: AAC (lav), Format: MP4 Muxer - in the Avidemux program), as recommende for youtube (search the web for 'advanced encoding settings youtube').
To let the TA view your screencast there are two options
I publish my powerpoint slides used during the lectures as links on the schedule. There are several cost-less options to get a viewer for that
A simple drawing tool is to write it on a whiteboard/paper, use your phone to take a picture, and paste it into your report! As long as you writing is easy to read, this is perfectly fine.
For more finesse, a UML drawing tool is handy to draw the required class and sequence diagrams for the exercises. I use Microsoft Visio (Win platform). As a CS student you can get Visio for free (and a lot of other MS software). Do not use the built-in stencils, instead I recommend those posted by Pavel Hruby (at www.phruby.com). All UML diagrams in FRS have been made in Visio. You sign up for free Microsoft products by sending an e-mail to firstname.lastname@example.org - you must provide your CS mail address in the body of the mail message.
A recurring problem once you get to the last mandatory exercise is getting MiniDraw to show the graphics properly. If it fails it is most probably because of a java.lang.RuntimeException: ImageManager: URL/folder '/resource/' does not exist. error.
It is because MiniDraw expects all graphics files to be located in a folder $classpath$/resource. The Ant script will copy these files in the 'copy-resource' task.
Thus to get graphics and MiniDraw working in your IDE, you will have to ensure two things