CodEx-Introduction: Difference between revisions
(polishing intro paragraph) |
m (typo) |
||
Line 10: | Line 10: | ||
* How to submit a solution for evaluation | * How to submit a solution for evaluation | ||
The individual | The individual exercises are described both in the CodEx system, as well as on the corresponding MT talk page here. | ||
== How to get a CodEx account == | == How to get a CodEx account == |
Revision as of 09:40, 13 January 2015
When reading this page, you've probably already gone a long way in learning about machine translation. Nice work!
Our MT Talks are occasionally complemented with programming exercises. We invite you (and strongly recommend) to go beyond watching our videos and try solving some or all of these exercises. Pick a programming language from our choice, write the short program and submit it to our system for evaluation -- a set of fully automatic tests.
The exercises are implemented in The Code Examiner (CodEx, https://codex3.ms.mff.cuni.cz/codex-trans/). This page briefly describes how to use CodEx in general:
- How to get a CodEx account
- How to login to CodEx
- How to pick a task to solve
- How to submit a solution for evaluation
The individual exercises are described both in the CodEx system, as well as on the corresponding MT talk page here.
How to get a CodEx account
Before venturing your journey though all the tasks, you need to get an account. There are two options to obtain an account in CodEx
For CUNI students
Please access the SIS registration page: https://codex3.ms.mff.cuni.cz/codex-trans/?module=sisregistration. You will be asked to verify your account, then click verify. If everything is fine, you could proceed to create your own account by following the instruction.
For non-CUNI students
Please send an email to Admin to request an account. He will create the account for you. Your account is added to MT talks group by default.
How to login and join a group
Once you have your login alias/password, come back to the login page: https://codex3.ms.mff.cuni.cz/codex-trans. After logging in, you are directed to the welcome page which displays all documentations and news that relates to your account.
On the left hand column, there is an internal link group. It directs to the list of all groups that you could join. When you join a group, you are responsible to do all the exercises which are assigned to that group.
For the sake of MT talks, please join the group MT talks if you have not done it.(shown in pictures: list of groups)
How to pick an exercise, solve it and submit your solution
After joining a group, you are able to see all the exercises assigned to that group. On the left-handed sidebar, under group -> task, you will see three options: specification, new submit, submits. They mean read the specification, submit a new solution and manage old submissions respectively.
For every exercise, please read the specification carefully. You are asked to write a complete program (not just a function). The list of programming languages is: Pascal, C, C++, C#, Haskell, Python and Java
You solution has to fit in one single file with standard input/output.
To submit a solution, there are two ways:
- Upload from text area: You write your solution into the text box, select the extension according to your programming language, then submit.
- Upload from file: Simply write your solution into a file with an appropriate extension and submit
In the evaluation process, your program is run several times with several input to validate the correctness. You will pass if your program passes a threshold number of times.
On the left-handed sidebar, under group, there are links to page results and bonus points where you can keep track of your results throughout the course.
Example
Exercise Hello World!: Your task is to write a program which read the name of a person and say 'Hello' to him/her.
Input: << standard input >> < sample.in
John Marry Marry and Kate
Ouput: <<standard output >>
Hello John! Hello Marry! Hello Marry and Kate!
Sample solution: Read the input file line-by-line, trim the string, concatenate the line with "Hello " and "!" then print it.
Python
#!/usr/bin/env python import fileinput if __name__ == '__main__': for line in fileinput.input(): print "Hello " + line.strip() + "!"
Run: ./helloworld.py sample.in
Java
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class CodEx{ public static void main(String[] args) { BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(System.in)); String line; while ((line = br.readLine()) != null) { System.out.println("Hello " + line + "!"); } } catch (IOException e) { e.printStackTrace(); } } }
Run: javac CodEx.java; java CodEx < sample.in
Notes: If you choose Java to be your programming language, your program must not declare any package, the main class must be "CodEx". For other languages, please read the CodEx manual.