Class Projects: Project 2 and Version Control Systems

Similar documents
Version Control Systems: Subversion

CS 371M. Homework 2: Risk. All submissions should be done via git. Refer to the git setup, and submission documents for the correct procedure.

CSSE220 BomberMan programming assignment Team Project

Digital Asset Management 7. Interactive Media and Game Development process

Contribute to CircuitPython with Git and GitHub

Heidi Hasting. Bringing source control to BI world!

This Lecture. G52GRP : Lecture 3. Sharing Code and Documents (2) Sharing Code and Documents (1)

advanced All you need to know about branching, merging and DV CS FOR GAME DEVELOPERS

Arduino Day. GIT-HUB Day

Family Autobiographical Information Child Foster Care

Bazaar. Distributed Version Control. Andrew Bennetts 5th April, Introduction Bazaar: Distributed Version Control The End

Mine Seeker. Software Requirements Document CMPT 276 Assignment 3 May Team I-M-Assignment by Dr. B. Fraser, Bill Nobody, Patty Noone.

Machine Learning in Robot Assisted Therapy (RAT)

An extended description of the project:

The Human Calculator: (Whole class activity)

The Einstein Toolkit

Grade 6 Math Circles Combinatorial Games - Solutions November 3/4, 2015

CMPUT 396 Tic-Tac-Toe Game

Chess Style Ranking Proposal for Run5 Ladder Participants Version 3.2

CSC242 Intro to AI Spring 2012 Project 2: Knowledge and Reasoning Handed out: Thu Mar 1 Due: Wed Mar 21 11:59pm

BOLT ACTION COMBAT PATROL

Relationships How do you build and develop relationships? How important are relationships to you?

Sampling, Part 2. AP Statistics Chapter 12

CPSC 217 Assignment 3 Due Date: Friday March 30, 2018 at 11:59pm

Software LEIC/LETI. Lecture 21

SATURDAY APRIL :30AM 5:00PM

Specification Due Date: Friday April 7 at 6am Top-down Program Outline Due Date: Wednesday April 19 at 6am Program Due Date: Monday May 15 at 6am

Administrivia Why Battlecode? New Features How to Win

USING ROBOCOMP AND KINECT IN AUGMENTED REALITY APPLICATIONS. Leandro P. Serrano July 2011, Coimbra

Game 0: One Pile, Last Chip Loses

Math 152: Applicable Mathematics and Computing

A WINNING AWARDS SUBMISSION

ARTIFICIAL INTELLIGENCE (CS 370D)

Tech the Halls is back again this year and we ve made it even better!

Grade 7/8 Math Circles Game Theory October 27/28, 2015

Project 1: Game of Bricks

Why Icebreakers? great way to help young people get to know one another engage the group at the beginning of a session introduce a topic

Spade 3 Game Design. Ankur Patankar MS Computer Science Georgia Tech College of Computing Cell: (404)

June 2019 and June 2020 series 20 timetable hours

PRICING FINE ART COMPOSITES FOR DOMESTIC CLIENTS EARN YOUR WORTH

Fireside Room Exhibition Exchange - "Happiness Theme"

Operation Blue Metal Event Outline. Participant Requirements. Patronage Card

ECE 499/599 Data Compression/Information Theory Spring 06. Dr. Thinh Nguyen. Homework 2 Due 04/27/06 at the beginning of the class

GO mental. Rules of the Game

Math Spring 2014 Proof Portfolio Instructions And Assessment

Game Playing in Prolog

PROJECT REPORT STUDY WEEK "FASCINATING INFORMATICS" Game Platform Mastermind. Abstract. 1 Introduction. 1.1 Mastermind Game Rules

The 2013 Scripting Games. Competitor s Guide

EdgeBSD: Status report

Assignment 1. Due: 2:00pm, Monday 14th November 2016 This assignment counts for 25% of your final grade.

2 Textual Input Language. 1.1 Notation. Project #2 2

AllegroCache Tutorial. Franz Inc

SUMMER MATH-LETES. Math for the Fun of It!

Part II: Number Guessing Game Part 2. Lab Guessing Game version 2.0

Name: Partners: Statistics. Review 2 Version A

Write advantages and disadvantages of using the internet >>>CLICK HERE<<<

Probability and Statistics

Conflict Resolution Made Eas[er

Determine the Expected value for each die: Red, Blue and Green. Based on your calculations from Question 1, do you think the game is fair?

Checkpoint Questions Due Monday, October 7 at 2:15 PM Remaining Questions Due Friday, October 11 at 2:15 PM

6.01, Spring Semester, 2008 Final exam announcement and practice final, Revised May 12 1

Prepared by Vaishnavi Moorthy Asst Prof- Dept of Cse

Definition 1 (Game). For us, a game will be any series of alternating moves between two players where one player must win.

Leaping from Role Play to Game Play

Old School Thinking 6/4/2014. Kentucky Transportation Cabinet s 3D Model Pilot Project. Which files are currently submitted? 2D Plans in a 3D world

AUTOMATION ACROSS THE ENTERPRISE

settinga.html & setcookiesa.php

My growth mindset interactive journal

Terraform: Konfigurationsmanagement für Wolkendienste

1. Number of Players Two people can play.

Highlanders A New Scenario for Vietnam:

Content Page. Odds about Card Distribution P Strategies in defending

Please be sure to title your "AoS List" with your name this same mail box can get up to 200 army lists in one year.

Materials: Game board, dice (preferable one 10 sided die), 2 sets of colored game board markers.

Interaction Design -ID. Unit 6

Codebreaker Lesson Plan

What is Bet the Flop?

Mittwoch, 14. September The Pelita contest (a brief introduction)

MATHEMATICAL RELATIONAL SKILLS AND COUNTING

The Emperor's New Repository

Adversarial Reasoning: Sampling-Based Search with the UCT algorithm. Joint work with Raghuram Ramanujan and Ashish Sabharwal

Maths Quiz. Make your own Mental Maths Game

Experiments in Probability ----a game of dice ---

Girls Programming Network. Scissors Paper Rock!

New Family Tree By Renee Zamora

Ace of diamonds. Graphing worksheet

Game Tree Search. CSC384: Introduction to Artificial Intelligence. Generalizing Search Problem. General Games. What makes something a game?

Introducing EdgeBSD. FOSDEM 2014 Brussels, Belgium. Pierre Pronchery February 1 st Introducing EdgeBSD (CC BY-NC-SA)

Elicitation, Justification and Negotiation of Requirements

Guidelines for Writers You must write for at least two different magazines on two different topics.

Assignment 12 CSc 210 Fall 2017 Due December 6th, 8:00 pm MST

Taffy Tangle. cpsc 231 assignment #5. Due Dates

ECE2049: Foundations of Embedded Systems Lab Exercise #1 C Term 2018 Implementing a Black Jack game

WARHAMMER 40K COMBAT PATROL

Autodesk Civil 3D Project Management Workflow Using Autodesk Vault

There is no class tomorrow! Have a good weekend! Scores will be posted in Compass early Friday morning J

Cycle Roulette The World s Best Roulette System By Mike Goodman

Analysis of Workflow Graphs through SESE Decomposition

LESSONPLAN TENTH GRADE

A.M. Turing, computer pioneer, worried about intelligence in humans & machines; proposed a test (1950) thinks with electricity

Transcription:

CISC 3120 Class Projects: Project 2 and Version Control Systems Hui Chen Department of Computer & Information Science CUNY Brooklyn College 9/28/2017 CUNY Brooklyn College 1

Project 1 Evaluation Requirements 4 basic requirements Input validation, maximum guess, game level, command line arguments 2 bonus requirements Game board area and game statistics, 3 rd party library Grading scheme Accepted or unaccepted for each requirement Basic requirements: 4 accepted = A; 3 accepted = B; 2 accepted = C; 1 accepted = D Bonus requirement: 1 2 accepted = one letter grade upgrade (A is upgraded to A+) 9/28/2017 CUNY Brooklyn College 2

Project 1 Survey Two surveys Peer evaluation Mandatory: yon won t get a grade until you complete it Course feedback Voluntary: you are encouraged to provide feedback 9/28/2017 CUNY Brooklyn College 3

What did we learn from our experience? 9/28/2017 CUNY Brooklyn College 4

What you might have learned Project logic and resources should be organized in a manageable fashion https://github.com/trending/c++ https://github.com/trending/java Application design How do you decompose the project logic and resources into multiple components? How do these components interact? Is there a better design? 9/28/2017 CUNY Brooklyn College 5

Project 2: Enhancing the Target Game Design with inheritance and polymorphism Group discussion (after a review and discussion on Version Control Systems) 9/28/2017 CUNY Brooklyn College 6

Tool Support for Team Work Version control system Summary of your experience 9/28/2017 CUNY Brooklyn College 7

Version Control System (VCS) Why do we need it? https://stackoverflow.com/questions/1408450/ Have you ever: Made a change to code, realised it was a mistake and wanted to revert back? Lost code or had a backup that was too old? Had to maintain multiple versions of a product? Wanted to see the difference between two (or more) versions of your code? Wanted to prove that a particular change broke or fixed a piece of code? Wanted to review the history of some code? Wanted to submit a change to someone else's code? Wanted to share your code, or let other people work on your code? Wanted to see how much work is being done, and where, when and by whom? Wanted to experiment with a new feature without interfering with working code? 9/28/2017 CUNY Brooklyn College 8

Team Support with VCS VCS provides a centralized location to store project files Versioned code, configuration files, build scripts VCS tracks each contributors individual changes VCS helps prevent concurrent work from conflicting 9/28/2017 CUNY Brooklyn College 9

Benefits of VCS Branching & merging. Example workflow: branching for each feature, branching for each release. Traceability Example use scenarios: track changes between revisions of a project, documented history of who did what and when Complete history of changes Example use scenarios: help in root cause analysis for bugs, fix problems in older versions of software that has been released, roll back to an older version without newly introduced bugs 9/28/2017 CUNY Brooklyn College 10

Centralized vs. Distributed Centralized VCS Examples: Revision Control System (RCS), Concurrent versions systems (CVS), Subversion (SVN) Distributed VCS Examples: Git, Mercurial (hg) 9/28/2017 CUNY Brooklyn College 11

Basic VCS Operations Check out/update: copying the repository to the machine you are working at Check in/commit: copying the changes you made to the repository and creating a new version Branch: create a new child development from a state of the repository 9/28/2017 CUNY Brooklyn College 12

Example: Centralized Workflow commit (check in) 9/28/2017 CUNY Brooklyn College 13

Merge Conflicts A conflict may occur when two developers edit the same file Merge The developer that tries to commit the file last will have to combine her changes with those of the prior developer Many VCS s (e.g., git) may automatically combine the changes Developers may have to merge the changes by hand 9/28/2017 CUNY Brooklyn College 14

Question: A Merge? How would you revise this graph to illustrate when a merge is required? 9/28/2017 CUNY Brooklyn College 15

Distributed Version Control Possible to commit locally without upsetting the others Allow more flexibility and support different kinds of workflow 9/28/2017 CUNY Brooklyn College 16

Example: Distributed Workflow Remote Repository commits commits 9/28/2017 CUNY Brooklyn College 17

Final Thought There are no winners on a losing team, and no losers on a winning team. Frederick Brooks Jr. 9/28/2017 CUNY Brooklyn College 18

Questions Projects 1 & 2 Learning from experience: Version Control Systems 9/28/2017 CUNY Brooklyn College 19