Telerik School Academy Meeting #2 – December 2010 – Software Engineering Homework Assignments Svetlin Nakov Telerik Corporation www.telerik.com Prepare IT Test Questions Prepare IT Test Questions 1. 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.unisofia.bg/documents/Conspect0910.pdf Follow strictly the IT test template: IT-TestQuestions-Template.pptx 3 High-Quality Code High-Quality Code 2. 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 5 High-Quality Code (2) 3. 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 6 Source Control Systems and SVN Source Control Systems 4. Install on your machine TortoiseSVN http://tortoisesvn.net/downloads.html 5. Register a new project in Google Code http://code.google.com/hosting/createProject 6. 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 8 Development Tools Development Tools – Unit Testing 7. 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. 10 Development Tools – Selenium 8. 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 11 Development Tools – Sandcastle 9. 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. 10. Create a project in Google Code and put all your homework files in the SVN repository of your project. 12 Choosing a Project for the National IT Olympiad Choosing a Project for the National IT Olympiad 11. Generate few innovative ideas for projects for the National IT Olympiad. Don't think about implementation at this time. 12. Asses the feasibility of the generated ideas. Think about the implementation – is it possible, do you have enough skills, etc. 13. Describe the best projects in the format required by the IT Olympiad (see the official requirements). 14. Start working on one of the projects. 14 Submission Instructions and Deadline 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 16 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 17 Homework Assignments Questions? http://schoolacademy.telerik.com