Homework 01

Due Date: Thursday, Jan 30, by 11:00am central time

Rendezvous with Repository

Your task is to set up a new Git repository that will be used to turn in your homework assignments for the semester.

Here are the overall requirements for the repository:

  • Must contain a top level README.md with a simple description of what the repository is for

  • Must contain a directory called homework01 with some files in it (see below)

  • Must contain multiple commits (not all one commit) with reasonable commit messages

  • Must be pushed to GitHub, must be private, and must be shared with GitHub user wjallen / wallen@tacc.utexas.edu

Here are the requirements for the homework01 directory:

  • The directory homework01 must contain two Python scripts:

    • ml_json_reader.py: reads Meteorite_Landings.json and prints summary statistics

    • ml_json_converter.py: reads Meteorite_Landings.json and writes the data into three new files of formats as suggested by their suffixes: Meteorite_Landings.csv, Meteorite_Landings.xml, and Meteorite_Landings.yaml

  • The definition of “summary statistics” is open to interpretation

  • You may hard-code the raw data file names into the Python scripts, but using a utility like argparse to accept the file name as an argument on the command line would be preferred

  • The directory homework01 must also contain a README.md file with a descriptive title and short descriptions of the Python scripts, including instructions on how to run the scripts and interpret the output, and a short description and link to the raw Meteorite Landing data

A sample Git repository should contain the following files after completing homework 01:

my-coe332-hws/
├── homework01
│   ├── README.md       # specifically describes the contents of the homework01 directory
│   ├── ml_json_converter.py
│   └── ml_json_reader.py
└── README.md           # generally describes the whole repo

Warning

Do not include the raw Meteorite Landing data in your repository! Stick to only the files above. You almost never want to include raw data in your Git repos - instead, provide links to the raw data.

What to Turn In

Send an email to wallen@tacc.utexas.edu with the link to your GitHub repository and include “Homework 01” in the subject line. We will clone all of your repos at the due date / time for evaluation.

Note on Using AI

The use of AI to complete this assignment is not recommended, but it is permitted with the following restrictions:

The use of LLMs (like ChatGPT, Copilot, etc) or any other AI must be rigorously cited. Any code blocks or text that are generated by an AI model should be clearly marked as such with in-code comments describing what was generated, how it was generated, and why you chose to use AI in that instance. The homework README must also contain a section that summarizes where AI was used in the assignemnt.

Additional Resources