Evaluation β
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.
Self-evaluation β
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.
Conclusion β
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.
Congratulations!
π