For the final summative assessment for semester 1, my teacher for my grade 12 AP Computer Science A class of the academic year 2023 to 2024 assigned us to work on a project and plan, program, and test an algorithm for either a lie detector or a password analyzer. We were allowed to work in pairs and we chose to work on the Password Analyzer.
With only about five days to work (counting off days), my friend and I spent part of each of the first few classes drafting and planning the Password Analyzer. Firstly, we had to decide what made a password strong and how a user could be notified and further their password in terms of security. We then designed a basic model and rough idea based on our criteria. After that, I added functions to simplify our code and make it more efficient. Then, we debugged and fixed lingering issues and started testing and finalizing the code. Soon, we started on our justification document and finalized everything.
In retrospect, there are several key areas we could have improved on. Firstly, we didn't add methods and classes as stated by the rubric. Instead, we wrote everything into the Main class and as separate functions. This was a loss of some simple points. Also, in our justification, we didn't provide enough detail and depth into our choices and reasonings. For example, I forgot to add the calculations for scoring and how the additional amount of characters or modification through adding symbols and digits affected breaching and security. Furthermore, after a discussion with my teacher, he found that our document and justifications weren't engaging enough. He suggested we could have added diagrams, pictures, snippets of code, and detailed analysis instead of the full program draft iterations, and versions of test screenshots. Hence, I also think we should have started our document and worked on the justification right at the start with our planning and programming instead of waiting till finalizing and debugging the program. If we had worked in tandem with our planning and testing, it would have allowed for further discussion, more screenshots and diagrams, more detail and reasoning for specific parts of the program, and fixed several key issues of our current iteration and submitted project.
In terms of ESLOs, there were mainly three that I think were present in this summative project: 1) Strategic Learners due to learning somewhat challenging topics and researching/recalling knowledge on security and how something be more secure. I also personally reflected and improved my understanding, programming skills, and justification skills through this assessment, learning a lot more about my strengths and weaknesses and how I could do better in the future; 2) Innovative Thinkers as we tried thinking outside the box for every use-case and possibility, and how best to design this algorithm (though we did still forgot about classes and methods which taught us both that our code could be more efficient and that we should read the rubric more carefully), and 3) Articulated Communicators through needing to communicate to my partner and articulate and justify what we did and why to the best of our abilities.