7. Meeting-2-Software-Engineering-Homework

advertisement
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
Download