GithubHelp home page GithubHelp logo

asteroidt / comp303starter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from prmr/comp303starter

0.0 0.0 0.0 203 KB

Starter project configuration for my COMP 303 Software Development course at McGill University

License: Apache License 2.0

Java 100.00%

comp303starter's Introduction

COMP303 Starter Project

Starter project configuration for the course COMP 303: Software Design at McGill University

This repository is configured to be seamlessly imported into the latest version of the Eclipse IDE. However, if you know what you are doing, you can import the project into the IDE of your choice and find the corresponding tools. The code are instructions are for Java 8.

To set yourself up:

  1. Make sure you have Eclipse for Java (or your favorite Java IDE) and Java 8.
  2. Install the Checkstyle Eclipse Plug-in. In Eclipse, select Help | Eclipse Marketplace... and enter Checkstyle in the Find: box. From the results, install Checkstyle Plug-In....
  3. Clone this GitHub repository into your Eclipse workspace. In the Eclipse package explorer, right-click and select Import... | Git -> Projects from Git | Clone URI and under URI enter https://github.com/prmr/COMP303Starter, then click-through, requesting to import existing Eclipse projects. Once imported, the project should compile without errors.
  4. While you're at it, clone the JetUML project into your Eclipse workspace. For convenience, you can also download the executable file and place it somewhere convenient.
  5. Similarly, clone the Minesweeper and Solitaire projects into your Eclipse workspace.

To ensure that everything works and start experimenting:

  1. In package demo, right-click on the file Welcome.java and select Run As... | Java Application. You should see a small GUI application appear. Try the different buttons which should do the obvious thing.
  2. Right-click on the file TestAlternatingLabelProvider.java and select Run As... | JUnit Test. A green bar should appear.
  3. Right-click again on the file TestAlternatingLabelProvider.java and select Coverage As... | JUnit Test. A green bar should appear, along with a view showing coverage information. If you go back to the source code file, most lines should be highlighted in green. The meaning of this will be explained later in the term.
  4. Access the "Problems" view in Eclipse. You should see two warnings of the type "Checkstyle Problem".

Once everything works as described above, try the following:

  1. Fix the code to make the Checkstyle warnings go away. To see the full list of coding rules checked by the tool, right-click on the project and select Properties | Checkstyle | Configure and play around with the viewer.
  2. Change line 37 of file AlternatingLabelProvider.java to return aLabel1 instead of aLabel2, and re-run the test. The test should fail.
  3. Learn some seriously useful shortcuts. My personal favorites are: CTRL-1, CTRL-SHIFT-R, CTRL-SPACE, CTRL-O, ALT-SHIFT-R.

Creative Commons License

Unless otherwise noted, the content of this repository is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Copyright Martin P. Robillard 2019

comp303starter's People

Contributors

prmr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.