CSE 30331/34331

Data Structures

Getting Started

Platform

You're free to develop your project on any platform you want, but our recommendation is to use a virtual machine.

An alternative would be to use Amazon EC2. As a student, you qualify for a free $35 credit if you sign up through AWS Educate. But note that you would be responsible for any expenses beyond that credit! Inside EC2, you can launch an m4.large instance running Ubuntu 14.04. (The build scripts for the pre-built projects below have been tested with that configuration.) Please talk to TA Kim Ngo for more detailed information.

Pre-built projects

The provided VM image comes with scripts to automatically download and build four projects that have been worked on successfully by many students in the past:

Audacity

What is it?
Audio editor
Official page
http://audacity.sourceforge.net
Hosted at
Google Code (Subversion)
License
GPL
Size
250k lines of C++ and C

Blender

What is it?
3D animation suite (cf. Autodesk Maya)
Official page
http://www.blender.org
Hosted at
blender.org (Git)
License
GPL
Size
1.3M lines of C, C++, and Python

Inkscape

What is it?
Vector graphics editor (cf. Adobe Illustrator)
Official page
http://inkscape.org
Hosted at
Launchpad (Bazaar/Git)
License
GPL
Size
450k lines of C++, C, and Python

VLC media player

What is it?
Video player
Official page
http://www.videolan.org/vlc
Hosted at
videolan.org (Git)
License
GPL
Size
500k lines of C, C++, and Objective-C

For example, to get Audacity:

$ cd ~/Source/Audacity
$ ./setup.sh
and similarly for the other three, replacing Audacity with the name of the project (Blender, Inkscape, or VLC).

If you're not using the provided VM image for some reason, you can still get the build scripts using:

$ cd
$ git clone https://bitbucket.org/CSE-30331-FA15/build-env-scripts.git Source
and proceed as above.

Other past projects

Here is a list of some of the projects that students in past years have done:

Name What is it? Main language Lines
GIMP Photo editor C 700k
Mumble VoIP C, C++ 600k
Firefox Web browser C++, C 13M
0AD Strategy game C++ 5.5M
LiquidFun Physics simulation C++ 700k
Tiled Game editor C++ 100k
SpeedCrunch Calculator C, C++ 125k
Filezilla FTP client C++ 300k

Your first “improvement”