Throughout this course, you’ve worked your way through numerous chapters, exercises, and challenges. These were part of a carefully designed learning path, aimed at completing the course objectives.
Now that you’ve reached the end of this learning path, it’s time to evaluate your results.
Use the following questions to evaluate your results:
Am I fluent in Swift’s syntax?
At this point in your studies, you should no longer be thinking about how to declare a variable or a function, or where to put parentheses or braces. Writing valid code should be easy; coming up with that code is the difficult part.
Am I adhering to best practices?
Swift programmers format their code a certain way, and so should you. Compare your code to the code from the solutions bundle. If your code looks sloppy in comparison, adjust its formatting to match the solution code.
Next, verify that you’re using camel case and that only type names start with an uppercase letter. All other names should start with a lowercase letter.
Finally, revisit the API Design Guidelines and verify that your code follows them.
Formatting and naming are essential if you want to work well with others. Programming is a team effort, so do your best to adhere to the common formatting style and naming guidelines.
Do I understand all of the topics in this book?
Although the challenges don’t require every language feature or programming technique presented in this course, you should have used at least part of every chapter to solve them. If you haven’t, revisit the topics you haven’t used and make sure you fully understand them before moving on.
Am I familiar with the Standard Library documentation?
As a programmer, reading documentation is a large part of your job. Almost all Swift programs rely on the Standard Library, so it’s crucial that you familiarize yourself with its documentation.
If you haven’t already done so, look up all of the types and protocols you learned about in this course and browse their documentation. You may discover some interesting properties and methods that you didn’t know about.
Do I understand the structured approach?
The structured approach discussed in this course is an informal introduction to software analysis and design. Both are an integral part of software development, just like programming. Most programming tasks are too complex to approach unprepared. Without a preliminary analysis and design phase, it’s easy to feel overwhelmed and lost.
If that’s how you felt during the previous challenge, you may not have spent enough time on analysis and design. Revisit the analysis and design documents from the solutions bundle and make sure your documents are just as detailed. At the end of the design phase, you should have a clear view of which types you need and how you’re going to implement them.
If your evaluation was negative, improve your skills by attempting another challenge. The topic of this challenge can be anything you want, provided that the challenge is comparable in size and complexity to the previous one.
Once you can answer yes to all of the self-evaluation questions, you can be confident that you’ve achieved the goals for this course and that you’re ready to take on more advanced topics.