Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
pelita [2018/09/07 14:44]
rike [Network games]
pelita [2019/03/21 08:52] (current)
Line 27: Line 27:
 Write tests for the part of your code which are testable, decide what parts you //can// test, what parts you //should// test, what parts you //must// test, and also what parts //can not// be tested. Use git and GitHub, use branches or pull-requests:​ is this going to facilitate your work or is this adding a useless overhead? Feel invited to explore the trade-offs involved! Write tests for the part of your code which are testable, decide what parts you //can// test, what parts you //should// test, what parts you //must// test, and also what parts //can not// be tested. Use git and GitHub, use branches or pull-requests:​ is this going to facilitate your work or is this adding a useless overhead? Feel invited to explore the trade-offs involved!
  
-The idea of the group project is **not** to write the coolest AI-powered bots! Remember that and don't get carried away by the competition ​:)+The idea of the group project is **not** to write the coolest AI-powered bots! Remember that and don't get carried away by the competition. More about this in the next paragraph.
  
-==== Working ​in a team ====+==== The Competition Factor==== 
 +Some of you will feel the rush of competition,​ and when working under time pressure may start skipping good coding practices to get “something that works” or “to win”. 
 +Others may be annoyed by it, and may feel it is important to stay focused on good practices and don't care much about the result of the competition. 
 + 
 +In part, this is the way humans work, so there is not much you can do about it. 
 +But it may help to frame the experience ​in a different way.  
 + 
 +Back in the lab you will be also subject to all kinds of pressure. A typical situation is your boss asking for results and not caring about you writing nice, tested and reusable code. You will be often asked to just “deliver”,​ independent of the standards you set for yourself. 
 + 
 +Look at the programming project as a paradigmatic example of a real life situation. How do //you// work under pressure? How do //you// handle the trade-off between “just deliver” and “live up to your own standards”?​ How do //you// deal with the fact the other people, be it your boss or your team mates, put pressure on you?  
 +There is a lot to learn in such a context! 
 + 
 +==== Working in a Team ====
 The group setting adds some additional hurdles to the challenge: you will be confronted with group dynamics which go beyond each member'​s technical skills. Try and have a curious and open attitude towards this experience, even when it becomes frustrating,​ annoying or even irritating. Everyone makes mistakes: enjoy making your own and helping other discover theirs. The group setting adds some additional hurdles to the challenge: you will be confronted with group dynamics which go beyond each member'​s technical skills. Try and have a curious and open attitude towards this experience, even when it becomes frustrating,​ annoying or even irritating. Everyone makes mistakes: enjoy making your own and helping other discover theirs.
  
-Remember that as a group you can define your own rules. You are responsible as a group for keeping a nice and stimulating atmosphere during your long programming sessions. Talk about how to distribute the work and how to distribute responsibility:​ these things don't happen on their own by magic! Be open in the group about problems, even inter-personal problems ;) And, if nothing else helps, come to us and we will help you!+Remember that as a group you can define your own rules. You are responsible as a group for keeping a nice and stimulating atmosphere during your long programming sessions. Talk about how to distribute the work and how to distribute responsibility:​ these things don't happen on their own by magic! ​You will be amazed at discovering how many of the things you take for granted are not granted at all for other people. ​Be open in the group about problems, even and especially about inter-personal problems ;) And, if nothing else helps, come to us and we will help you!
  
 The final tournament is intended as a final party, where you can have fun watching **your** "​product"​ running around in a maze. It doesn'​t really matter which group is going to win. Remember: no bot will be harmed in the making of this film ;) The final tournament is intended as a final party, where you can have fun watching **your** "​product"​ running around in a maze. It doesn'​t really matter which group is going to win. Remember: no bot will be harmed in the making of this film ;)
Line 66: Line 78:
  
 <alert type="​warning"​ icon="​fa fa-warning">​ **WARNING** <alert type="​warning"​ icon="​fa fa-warning">​ **WARNING**
-  * The repos are going to be **frozen** on Saturday ​September at exactly **17:00**!+  * The repos are going to be **frozen** on Saturday ​September at exactly **17:00**!
   * Be sure there is a file in your repo named ''​groupN.py'',​ where ''​N''​ is your group number   * Be sure there is a file in your repo named ''​groupN.py'',​ where ''​N''​ is your group number
-  * The file should define the string ''​TEAM_NAME''​ and the function ''​move(turngame) ⟶ (dx, dy)''​+  * The file should define the string ''​TEAM_NAME''​ and the function ''​move(botstate) ⟶ (dx, dy), state''​
 </​alert>​ </​alert>​
  
Line 87: Line 99:
  
 ==== Network games ==== ==== Network games ====
 +… more info soon … 
 +/*
 To play against the more advanced bots in the network, start a network game: To play against the more advanced bots in the network, start a network game:
  
Line 99: Line 112:
  
 (Of course, remember that your bot can also play on the right side, so make sure to test eg. ''​%%pelita remote:​tcp://​10.0.2.144:​30001 groupN.py%%''​ as well.) (Of course, remember that your bot can also play on the right side, so make sure to test eg. ''​%%pelita remote:​tcp://​10.0.2.144:​30001 groupN.py%%''​ as well.)
 +*/
 +
  • pelita.1536324264
  • Last modified: 10 months ago
  • by rike