CMSI 186
Programming Laboratory
Spring 2015
- Note
- This page is maintained as an archival record of the course shown above, and as such, some links on this page may no longer be valid nor accessible. They are kept here as a record of the resources that were available at the time of the course offering.
- Syllabus
- Bazaar: Where you’ll find our sample code
- Piazza: Shared discussion across all CMSI 186 sections
- How to Ask Questions the Smart Way: Follow these tips to improve the quality and efficiency of the help that you get
Assignments
- Assignment 0120: 1a, 1b, 1c, 3d, 3e, 3f
- Assignment 0127: 1a, 1b, 1c, 2a, 3a, 3d, 3e, 3f
- Assignment 0205 Java transition exercises: 1a, 1b, 1c, 2a, 2b, 2c, 3a, 3b, 3c, 3d, 3e, 3f
- Assignment 0219 Classes and objects; board/parlor game logic: 1a, 1b, 1c, 2a, 2b, 2c, 3a, 3b, 3c, 3d, 3e, 3f
- Assignment 0312 Discrete event simulation:
1a, 1b, 1c, 2a, 2b, 2c, 3a, 3b, 3c,
3d, 3e, 3f
- AngryBalls2D.java
- Ball.java stub (does not compile as-is)
- Vector.java stub (does not compile as-is)
- Assignment 0326 Arithmetic first principles:
1a, 1b, 1c, 2a, 2b, 2c, 3a, 3b, 3c,
3d, 3e, 3f
- API documentation
- Test harness (rename and/or search-and-replace as appropriate)
- Sample application: Exponent.java
- Assignment 0414 Randomized estimation: 1a, 1b, 1c, 2a, 2b, 2c, 3a, 3b, 3c, 3d, 3e, 3f
- Assignment 0423 Dynamic programming:
1a, 1b, 1c, 2a, 2b, 2c, 3a, 3b, 3c,
3d, 3e, 3f
Tally
class documentation- Tally.java
- TallyTestHarness.java
- MakeOptimalChange.java
- MakeOptimalChangeTestHarness.java (expand as appropriate)
- Assignment 0505 Backtracking search: 1a, 1b, 1c, 2a, 2b, 2c, 3a, 3b, 3c, 3d, 3e, 3f
Handouts/Sample Code
- 0122: JavaScript-to-Java Tips
Related External Links
These links take you to web sites beyond this server. The sites are in no particular order or bias, just as they came to mind.
- The Java Tutorials home page
- Java Standard Edition API references:
- Java style guides (Note: The course does not specifically require a particular style, but it
does expect you to have one and to use it consistently. These links give you an idea of what
these styles may be. In all coding style decisions, the overriding criterion is that your coding
style must *present code such that it clearly reflects its structure and meaning*. Specific
feedback that I provide regarding style takes precedence over documents that you see unless you
convince me adequately that your style decision is also sufficiently expressive.):
- Google Java Style
- Last official from Sun: Code Conventions for the Java Programming Language
- The java.net community home page