Tangibles:

Overall, I learned a lot about coding this trimester. Initially, I had no idea how to code, but after a few weeks, I began to see connections between various ideas and how to integrate them. I think it was especially interesting to learn about APIs, espite how difficult it was, since we were able to go online, and when we eventually presented our data through and API, it was more rewarding than coding a simple algorithm. While I still think I’m not nearly as experienced in coding as I could be, I also learned to word with teammates through AGILE, and I think many of the content taught in thsi class would be helpful even outside of the computer science industry.

API Development

  • Overall, one of out greatest acheivements was in the backend, where Eshika and I worked to find a database and be able ot show the data in the frontend. Since neither of us really had much experience with code, we stayed up a lot to explain things to each other and fix our code.

  • Through this, I learned the shortcomings of our current code, how the CSV file is hard to update, and how to work closely with my friends to overcome our challenges in code.

  • Personally, I think I’m a lot more comfortable with backend code now, and can understand how our code works and adapt it to other situations.

Key Commits

  • Frontend code for the county data - This was the beginning of our presentation of the data. Before, we could only display numbers, but the pie chart was more comprehensive and manageable. It was really interesting to learn how to display these things and the basic framewrok of analyzing and displaying data.
  • Backend implementation of the county.api data - this happened before we merged, but it was a huge step in figuring out how everything worked, and understanding the code well enough to explain and adapt

AP Collegeboard Pseudo-code

Through the student teaches, I realized we amde an oversight in not implementing the Collegeboard pseudocode, so I wanted to go back and try to complete one of the robot questions to become more familiar with the concept before the end of the year.

#Pseudocode

MOVE_FORWARD()
ROTATE_RIGHT()
MOVE_FORWARD()
ROTATE_LEFT()
MOVE_FORWARD()
ROTATE_RIGHT()
MOVE_FORWARD()
ROTATE_LEFT()
MOVE_FORWARD()
ROTATE_RIGHT()
MOVE_FORWARD()
ROTATE_LEFT()
MOVE_FORWARD()
ROTATE_RIGHT()
MOVE_FORWARD()
ROTATE_LEFT()

I think one of my greatest achievements was figuring out iterations in the beginning of the year while we were coding the quizzes for Javascript. Iterations showed up a lot after that wek, so I felt better knowing something about it beforehand.

import getpass, sys, os

# Questions and answers

questions = [
    "Which command allows people to import commands and funcitons?",
    "What command defines a funciton?",
    "Which command prints a specified messge on the screen?",
    "Which command helps differentiate right from wrong?",
    "Which command returns input from the user?",
    "A collection of characters is called ____?"
]

correct_answers = [
    "import",
    "def",
    "print",
    "if",
    "return",
    "string"
]


#Quiz function
def run_quiz():
    correct = 0
    #keeps count of how many are correct
    for i in range(len(questions)):
        print(i)
        #tells us which iteration it is on        
        rsp = question_with_response(i)
        if rsp == correct_answers[i]:
            print("Correct!")
            correct +=1
        else:
            print(f"Incorrect, the correct answer is: {correct_answers[i]}")
            # if it is correct, a point is added to correct. If not, the user is told it is incorrect, and the incorrect answer is shown
    score = (correct/6) 
    #makes it easier to formate the number as a percentage
    print("\nQuiz completed!")
    print(getpass.getuser() + " you scored " + "{:.2%}".format(score))
    # Prints the user's name, then you scored, and the score as a percentage, up to two decimal points

run_quiz() 
0



---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

/tmp/ipykernel_6526/1478025149.py in <module>
     42     # Prints the user's name, then you scored, and the score as a percentage, up to two decimal points
     43 
---> 44 run_quiz()


/tmp/ipykernel_6526/1478025149.py in run_quiz()
     29         print(i)
     30         #tells us which iteration it is on
---> 31         rsp = question_with_response(i)
     32         if rsp == correct_answers[i]:
     33             print("Correct!")


NameError: name 'question_with_response' is not defined

Overall Takeaways

  • I learned to work togehter with my teammates, and how important it was to communicate among oureselves.
  • Over the course of this trimester, I realized that we tended to set goals above out capabilities and then struggle to meet the deadlines later. Eventually, I hope to learn more about code and figure out what is possible within the given time frame.

  • Through the use of CSV files an postman, I learned how to use APIs, and explain how the code works

  • In the future, I hope to become more experienced in Python and Javascript and better understand the inner workings of AWS deployment and how backend really works. I also want to memorize more of the syntax for Javascript and Python to better understand the code.

  • It would also be helpful to become better at debugging, and to understand the structure of the code to make it more concise and easier to maniplate or adapt