GIT: Best Practices, Managable Merge Requests, Issues/Tagging Workflow
April 21, 2019
- Complete the Course Evaluation on ACES, every voice matters!
- Attend a talk on LDOC and get free lunch: Evolution or Revolution in Software Development by Andy Palay
- Current Readings
- Secure Coding Practices in Java: Challenges and Vulnerabilities by Na Meng, Stefan Nagy, Daphne Yao, Wenjie Zhuang, and Gustavo Arango Argoty
- Do Professional Programmers Need a Code of Conduct? interview with Robert Martin and his talk The Future of Programming
- True Programmers Never Stop Learning by Thibaud Jobert
- Secure Coding Practices in Java: Challenges and Vulnerabilities by Na Meng, Stefan Nagy, Daphne Yao, Wenjie Zhuang, and Gustavo Arango Argoty
April 17, 2019
- Sign up to demo your Final Project on Monday, April 29 between 12-7pm
- Everyone on the team must attend the demo
- Plan on the demo to last 45-50 minutes and to cover both the project's functionality (show your three games running) and design (show how a new game variant is created using data files rather than Java code)
- The project code should be frozen Friday night, so the weekend is focused on creating your Example Games that show off the functionality and flexibility of the project
April 14, 2019
- Current Readings
- Test Automation Strategy for Agile Projects by Amir Ghahrai
- Maven: A Build Automation Tool for Java by Aman Singh
- From Agile to DevOps to Continuous Delivery: An Evolution in Software Delivery by Steve Brodie
April 7, 2019
- Sign up to be a UTA for the Fall!
- The last Quiz will be given on either of the last two Monday classes (note, we are not having lab on LDOC)
- Current Readings
- Reflection from the Java Tutorial
- JavaFX Properties and Bindings from the Java Tutorial
- Why Lamba Expressions by Cay Horstmann
March 31, 2019
- Current Readings
- Composition vs. Inheritance by B. Venners
- Introduction to Design Patterns (Chapter 5 from Design Patterns Explained) by Alan Shalloway and James Trott
- Refactoring to Patterns (Introduction) by Joshua Kerievsky
- The Magic of Data Driven Design by S. Rabin from Game Programming Gems
March 27, 2019
- Upcoming Deadlines
- Final, Team Contract, due on Wednesday, March 27 (effectively 3:07am Thursday morning)
- Final, Plan, due on Tuesday, April 2 (effectively 3:07am Wednesday morning)
- Final, Sprint 1, due on Tuesday, April 9 (effectively 3:07am Wednesday morning)
- Final, Sprint 2, due on Tuesday, April 16 (effectively 3:07am Wednesday morning)
- Final, Complete, due on Friday, April 26 (effectively 3:07am Saturday morning)
- Final, Example Games, due on Monday, April 29 during team demo between 12-7pm
- Final, Analysis, due on Friday, May 3 (effectively 3:07am Saturday morning)
March 24, 2019
- Current Readings
- Scrum Guide by Ken Schwaber and Jeff Sutherland
- Teamwork is an Individual Skill by Christopher Avery
- Extreme Programming Practices in Action by Ron Jeffries
March 17, 2019
- Java 12 is expected to be released this week
and OpenJFX 12 was released last week
- No significant public changes made
- Upgrading is NOT recommended since we have not had a chance to test them in IntelliJ yet
- Current Readings
- Josh Bloch on API Design
- Four Pillars of Object Oriented Programming by Ben Jacobs
- Why Encapsulation Is Fundamental to OOP by Matt Weisfeld
March 3, 2019
- Current Readings
- From STUPID to SOLID by William Durand
- Multi-Paradigm Design for C++: Commonality Analysis by James Coplien
- Why Lamba Expressions by Cay Horstmann
February 24, 2019
- Current Readings
- Designing with Exceptions by Bill Venners
- Exceptions, Enumerated Types, and Generics from the Java Tutorial
February 17, 2019
- Current Readings
- MVC from Head First Design Patterns by Bert Bates, Kathy Sierra, Eric Freeman, and Elisabeth Robson
- Dependency Inversion Principle by Robert Martin
- JavaFX: Making Client Apps Sexy Again! by Terrence Barr
- Isolating Locale-Specific Data from the Java Tutorial
February 13, 2019
- Here are your Simulation Teams
- Sign up for a Review of your Game Project code
- Upcoming Deadlines
- Simulation, Team Contract, due on Wednesday, February 13 (effectively 3:07am Thursday morning)
- Simulation, Test, due on Thursday, February 21 (effectively 3:07am Friday morning)
- Simulation, Basic, due on Thursday, February 28 (effectively 3:07am Friday morning)
- Simulation, Team Midpoint Report, due on Friday, February 28 (effectively 3:07am Saturday morning)
- Simulation, Complete, due on Friday, March 8 (effectively 3:07am Saturday morning)
- Simulation, Refactoring, due on Saturday, March 23 (effectively 3:07am Sunday morning)
- Simulation, Analysis, due on Tuesday, March 26 (effectively 3:07am Wednesday morning)
February 10, 2019
- Current Readings
- JUnit Test Infected by K. Beck
- Unit Testing Best Practices from Microsoft
- TDD with IntelliJ
February 3, 2019
- Current Readings
- Object-Oriented Software Development: Inheritance and Polymorphism by Rick Mercer
- Why Java Interfaces Are So Very Cool (Chapter 17 from Java Garage) by Eben Hewitt
- Replace Conditional with Polymorphism from Refactoring by Martin Fowler
January 27, 2019
- Current Readings
- Open Closed Principle by Robert Martin
- A Systematic Approach to Write Better Code With OOP Concepts by Muhammad Umair
January 24, 2019
- Here are your Game Teams
- Sign up for a Review of your Data Project code
- Regular Office Hours start tonight
January 21, 2019
- Current Readings
- Upcoming Deadlines
January 13, 2019
- Reminder: Wednesday lab classes will be in Gross Hall 103 starting at 3:05pm
- Current Readings
- Code Smells by K. Beck and M. Fowler (Chapter 3 from Refactoring: Improving the Design of Existing Code)
- Extract Class from Refactoring by Martin Fowler
- A Visual Guide to Version Control and to GIT specifically (or as videos)
- Write Faster: Your Manual to Markdown, the Web's Simplest Plain-Text Syntax
January 10, 2019
- Welcome to CompSci 307!
- This website complements what you experience in class.
- Course announcements will be posted on this web page and may also be announced in class.
- This course is essentially paperless, with preference to electronic distribution of all materials through this site.
Thus you are responsible for all material that appears here and should check for updates frequently.
- Current Readings
- Chapter 1 from Clean Code by Robert Martin
- OO in One Sentence by Andy Hunt and Dave Thomas
- Decomposition by Nick Parlante
- Upcoming Deadlines
- Install the latest version of Java 11 SE JDK and IntelliJ Ultimate as soon as possible
IntelliJ is freely available for students - Complete this online survey about your weekly availability as soon as possible
Teams for projects will be chosen for you based on you schedule compatibility. - Data, Basic, due on Wednesday, January 16 (effectively 3:07am Thursday morning)
- Data, Complete, due on Tuesday, January 22 (effectively 3:07am Wednesday morning)
- Data, Analysis, due on Friday, January 25 (effectively 3:07am Saturday morning)
- Install the latest version of Java 11 SE JDK and IntelliJ Ultimate as soon as possible