You are on page 1of 3

Name: Phong Cao

ID: 108512924
Class: CSE-300-03
Homework #2 - Propose Topics for Assignments

Propose Topics for User Manual,


Software Review and Press Release
1. Git and Bitbucket Quick & Easy Collaboration Guide
I am currently participating in a Game Research Project for the Computer Science Department.
The team has decided that we would use Git (command-line) and Bitbucket to collaborate & manage
the official source code repository of the game due to Bitbuckets free private repository license and Git
robust VCS features. However, members of our team are very newbie to Git, not mentioning Bitbucket.
We need something that can help our members up and running with Git & Bitbucket collaboration in
hours, which means that we cannot use Git and Bitbucket main documentation since they are about
~750 pages long in total, and with the current deadline of 3-4 months, we cannot afford to read them.
Or else, we would have to switch to some other software or different ways to manage our projects.
a. Literature Review: Other VCS tools and source code repository hosting services other than Git and
Bitbucket.
b. Press Release: A new GUI version of Git which perfectly integrates Git GUI and Bitbucket, making
using them even easier than Microsoft Office.
c. User Manual: A very short, easy and probably the first completely guide to Git (command-line) and
Bitbucket collaboration which is only ~60 pages long.
I chose this topic because source code version control is usually overlooked by software

developers when the project is still small and thus they usually look at very bad user guide which
promotes bad source version control practices. Then when the project gets larger or hits some hard-tobeat errors that need a rollback, the team faces a mess of branches and commits that they have no way
to escape from. Sometimes, incompetency in using Git & Bitbucket can slow down the development
process and introducing bugs to the software through merging up conflicting source-code branches.

2. Dingo Media Manager


In my sophomore year I developed Dingo Media Manager, my small personal open-source
audio/video player and manager that runs on Linux. The software was created by me with the sole
purpose of learning more about algorithms, object-oriented software design and C/C++ core concepts.
The first stable version of the software, Dingo 0.5.0, was released on December 30, 2012.
a. Literature Review: Other Linux players that are currently in the market and how they compare to
Dingo Media Manager
b. Press Release: A new version of Dingo Media Manager, 0.6.0, which presents a completely new
GUI, some new features and host of newly-supported media formats.
c. User Manual: An updated User Manual for Dingo Media Manager 0.5.2 which also contains a
preview of version 0.6.0s features.
I chose this topic because Dingo Media Manager was my very first Linux software project and I
learned so much from it. It was developed personally and professionally, which means I applied
everything I knew at the time about software engineering, such as source version control, design
patterns, algorithms, build-files, etc.

3. Extending functionality of Vim Editor


In looking for improving productivity and simplicity, lots of professional programmers and even
Computer Science students nowadays are staying away from the ever-increasingly complicated IDE
and coming back to those ancient, command-line and keyboard-based programming text editor such as

Vim, Emacs, etc. especially when coding in lightly-library-dependent languages such as HTML, CSS,
JavaScript, C, C++, etc. However, learning how to use and configure these editors to suite ones needs
still proposes big challenges that prevent users from switching from the user-friendly IDE to the fastand-furious Vim or Emacs.
a. Literature Review: Why switching to Vim or Emacs instead of using an IDE or Vim/Emacs IDE
keybindings? What are the command-line alternatives to these 2 editors?
b. Press Release: Announce the release of my personal dotfiles, particularly vimrc which vastly
extends the features provided by default by the Vim editor.
c. User Manual: My tricks for using Vim more effectively, including key-remapping and cheat sheet
for source code navigation using Vim keys.
I chose this topic because I love using Vim and I admit myself addicted to customizing and writing
extensions for Vim. Also, with the increasing popularity of Linux and Mac OSX, more and more
people nowadays have access to UNIX terminal tools such as cat, grep, vi, etc., making UNIX no
longer administrators and geeks-exclusive. Therefore, I believe having a hand-on comprehensive guide
to Vim customization is very necessary for even novice computer users.

You might also like