National IT Olympiad Preparation Guide
180 likes | 280 Vues
Prepare for the National IT Olympiad with 20 complex IT test questions, refactor code, learn SVN, unit testing, Selenium, Sandcastle, and project selection tips.
National IT Olympiad Preparation Guide
E N D
Presentation Transcript
http://schoolacademy.telerik.com Telerik School Academy Meeting #2 – December 2010 – Software Engineering Homework Assignments Svetlin Nakov Telerik Corporation www.telerik.com
Prepare IT Test Questions • Prepare at least 20 questions for preparation for the National Olympiad's IT test • Prepare at least one question for each category from the official conspectus • Try to create complex, non-trivial questions • Categories are officially published at http://edusoft.fmi.uni-sofia.bg/documents/Conspect0910.pdf • Follow strictly the IT test template: IT-Test-Questions-Template.pptx
High-Quality Code • Refactor the code from the projects in the archive Low-Quality-Code-Examples.rar • Follow the high-quality code construction concepts and guidelines • Ensure the identifiers are well named • Solutions, projects, directories, files, classes, methods, fields, properties, variables, parameters, etc. • Ensure the code is well formatted
High-Quality Code (2) • Refactor all your code from your last homework (C#, OOP, LINQ) • Follow the high-quality code construction concepts and guidelines • Ensure the identifiers are well named • Solutions, projects, directories, files, classes, methods, fields, properties, variables, parameters, etc. • Ensure the code is well formatted
Source Control Systems • Install on your machine TortoiseSVN • http://tortoisesvn.net/downloads.html • Register a new project in Google Code • http://code.google.com/hosting/createProject • Play with Subversion and TortoiseSVN • Checkout the SVN of your Google Code project • Create your own directory, add few files in it and commit all changes • Create a conflict on some shared file in the SVN (work with the other students) and resolve it
Development Tools – Unit Testing • Create unit tests for the solution of the following problem from the previous homework: • Write a program that finds the maximal increasing sequence of elements in an array. Example: {3, 2, 3, 4, 2, 2, 4} {2, 3, 4}. Ensure the tests check the nominal case and special cases like: empty array, array consist of single element, all elements are increasing / decreasing, increasing sequence at start / end … Use either Visual Studio Team Test (VSTT) or NUnit Framework.
Development Tools – Selenium • Install Selenium RC on your machine and create Selenium based Web UI unit tests for the temperature converter located at: • http://www.worldwidemetric.com/cal.html Ensure your automated tests cover cases like: • Celsius to Fahrenheit and vice versa • Negative temperature • Invalid numbers (e.g. "peter") • Very large numbers
Development Tools – Sandcastle • Document with XML documentation your solution of the "maximal increasing sequence" problem and its unit tests. Using Sandcastle generate a CHM documentation for your code. • Create a project in Google Code and put all your homework files in the SVN repository of your project.
Choosing a Project for the National IT Olympiad • Generate few innovative ideas for projects for the National IT Olympiad. Don't think about implementation at this time. • Asses the feasibility of the generated ideas. Think about the implementation – is it possible, do you have enough skills, etc. • Describe the best projects in the format required by the IT Olympiad (see the official requirements). • Start working on one of the projects.
Submission Instructions • Homework solutions should be submitted at the following Web site: • http://nakov.devbg.org/schoolacademy-uploads/ • Solutions should be packed in a single ZIP or RAR archive (up to 8 MB) • Remove well known libraries (like the Selenium binaries) from the archive to save space
Further Instructions • The deadline for the homework is: • A week before the next training session • Everybody is free to use help from friends, teachers or Internet • Submission of the same work by different authors may result in a disqualification • Ask your questions in the Telerik School Academy official discussion group: • http://groups.google.com/group/it-olymp
Homework Assignments ? Questions? ? ? ? ? ? ? ? ? ? http://schoolacademy.telerik.com