Tools and Equipment Overview
Tools and equipment have changed lives, look at the mobile phone. Tools, and equipment, with the addition of coding, can make you immensely more successful in any field.
Make Development Easy
Learning Development tools, and working with Projects, is the key to a rapid entry into Code/Code/Coding. A Computer, Git, and a Code Editor are the starting points for coding. Add Jupyter Notebooks (computational documents) and you bridge a Computer with Data Science. The beauty of a Jupyter Notebook is that it creates a computational narrative, a document that allows code and data with visual analysis, hypothesis, and conjecture.
A laptop
, bring a laptop to class every day with the Development Tools installed on it. Preferred laptops are MacOS or Windows. Computers using either MacOS, Windows, or Linux are requirements for the course. Computers issued by the School, ie Chromebook, are not as effective because of the restrictions placed on adding software by PUSD. If you only have access to a school-issued Chromebook, we will provide an option to access a Linux machine on AWS.- Sharing Code.
GitHub
is the de facto hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere in the world. Git enables tracking changes, collaborating with others, and reverting to previous versions if needed. Think of it as the Google Docs for Coders. We will clone/push/pull changes to and from GitHub, this is the server where we store and share code in the cloud. Set up GitHub with a personal ID, not a school ID. GitHub Account. It is best if you can incorporate your first name or initials into your account, for recognition by those who know you. Visual Studio Code
(abbreviations VS Code, VSCode or VSC) is a powerful Code Editor. VSCode performs a lot of magic and automation behind the scenes to make your Code/Code/Coding life easier, ie it tells you about errors in syntax while coding. VS Code supports many programming languages and has a marketplace of plugins and extensions that enhance the coding experience.GitHub Pages
will be used to host a personal website, notes, and experiences. GitHub Pages allows students to showcase their projects and create personal websites. Students can publish their coding projects, technical notes, and experiences on GitHub Pages for others to see.- Review GitHub concepts 2-min https://www.youtube.com/watch?v=phGdqJB6ep0
Jupyter Notebooks
will be used to build running JavaScript, Python, or Java Code into Technical documentation. Jupyter Notebooks is a valuable tool in data science and coding. It provides an interactive environment for running code, analyzing data, documenting code, and writing explanations. Review Jupyter Basics 6-min https://www.youtube.com/watch?v=3jZYC9rGrNg(https://www.youtube.com/watch?v=3jZYC9rGrNg)Slack Account and App
, install App on Laptop, get used to reading announcements. Slack is a messaging tool similar to Discord. There will be important announcements and daily messages will be shared through Slack.- Windows Desktops install WSL. WSL enables students to work with Linux tools and environments on Windows machines. WSL supports a Linux-like terminal experience within the Windows operating system. WSL users will install WSL 2 and Ubuntu distributions. Everyone in this class will be working on a form of Linux when in Terminal.
Docker
is an open platform for developing, shipping, and running applications. Docker allows students to create isolated environments for testing and deploying their applications, ensuring consistency across different systems. Docker Desktop allows users to test deployment scripts on their local machines, enabling them to debug and troubleshoot their applications before deploying them on AWS.- Tools and Terminal Installs
Deprecated/Do not InstallAnaconda
(Conda) is the environment manager. Conda is an open-source package and environment management system that runs on Windows, MacOS, and Linux desktops. Conda is an environment manager that is very popular for data science projects. It helps you manage your tools in a controlled manner, this is called a virtual environment. Likely we will move away from Anaconda. The purpose of Conda is to avoid dependencies, but many people had problems with managing Python and Pid in VSCode related to the Conda shell.- Install a package manager. A package manager helps you install tools and manage updates. Homebrew is a package manager specifically for MacOS, while Ubuntu and AWS EC2 machines require the apt package manager for installing additional tools.
- Homebrew (
brew install
) for MacOS will be used to install tools. Homebrew is a package manager for MacOS. Apple’s MacOS does not have a development package manager by default. Install Homebrew - On Windows, Windows Subsystem for Linux (WSL Ubuntu), uses (
sudo apt install
) installs for packages. Things like Java, Python, and more will require installation with apt, as they are not included in Ubuntu by default. - On AWS Linux EC2 machines we will use (
sudo apt install
), similar to WSL, but is temporary to session. An AWS/Kasm Account for cloud computing will be required., account access will be provided by the Teacher. AWS Cloud Computing and Electric Cloud Computing (EC2’s) will be used to run the Development Environment from the Internet.
- Homebrew (
Hacks
Review all the items mentioned above and get started with setup. Try to understand the concepts behind these tools and seek clarification when needed. Each student needs to take the setup process seriously and should highlight that consistent access to the necessary tools is essential for active participation in the class.
- Bring your computer daily. If you don't have computer and tools access, you are effectually absent!!!
- Review material on tools, and draw a picture. Installing tools can be a bit of a process. Read, review, and get started. After you do it a little, it starts to become easy.
- Blog why you love your tools. Do not fear your tools, love your tools. Then you become familiar and proficient in using your tools, they become extensions of your abilities and empower you to accomplish Code/Code/Coding tasks more efficiently.
- Add yourself to the Users Database. We need you registered so we know how to support you best. This registration will be used for automation now and throughout the year.