- Development Tools Intro
- Essentials of Development Tools
- Tool and Setup Goals
- Engagement and Participation Goals
Development Tools Intro
The essentials of development begin by understanding the need for tools and equipment. The Tools and Equipment topic highlights the core components you’ll need for a smooth entry into coding, collaboration, and project creation.
A computer, GitHub account, and a code editor are the starting points for rapid entry into coding. Adding frameworks for databases and Jupyter Notebooks bridges a computer into fields like IT, data science, and all the emerging technologies centered on AI.
Essentials of Development Tools
Understanding and utilizing the right development tools is crucial for a successful coding journey. This section highlights the core components and additional tools that will enhance your learning experience and collaboration.
- Laptop Requirement: Ensure you have a laptop with development tools installed. MacOS and Windows are preferred. Chromebooks are supported by using a KASM cloud workspace.
- Version Control: GitHub will store your coding projects and serve as a collaboration hub with others.
- Code Editor: This course will use Visual Studio Code for its extensive support for programming languages and helpful coding features.
- Interactive Coding: In this course, coding will be interactive and instantaneous. Visual Studio Code, with support for Jupyter Notebooks and GitHub Pages, is ideal for coding, data analysis, capturing notes, and creating documentation.
- Web Hosting: Throughout this course, students and teachers will publish their projects and notes using GitHub pages. Students will showcase their projects and chronicle their development journey.
- Application Containerization: Using tools like GitHub Pages, Docker, and AWS, students will learn to create, deploy, and run applications on the Internet.
- Communication and Collaboration: Stay updated and connected with course announcements and discussions using Slack. The DM, group messages, and channel communication options allow students to stay informed and collaborate effectively.
By mastering these tools, you’ll be well-equipped to tackle various projects and collaborate efficiently with your peers. Future topics will delve deeper into advanced tools and techniques to further enhance your development skills.
Tool and Setup Goals
By the end of this unit, you should have installed and become familiar with the following tools and concepts:
- GitHub Portal: Create an account on GitHub. It will be used to store, plan, track, and publish your coding projects.
- MacOS Tools: Use the Terminal with the Homebrew
brew
command for installing developer tools on MacOS. - Windows Tools: Use the Terminal with the
wsl
command to set up a Linux shell. Use theapt
command within that shell for installing developer tools on Ubuntu. - KASM Cloud Tools: Become familiar with the Linux shell. Use the
apt
command to review installed developer tools on Ubuntu. - Visual Studio Code and Marketplace: Get comfortable with the Visual Studio Code editor and explore marketplace extensions to enhance your coding experience.
- JavaScript, Python, Java: Learn the Development Life Cycle and get introduced to Jupyter Notebooks.
- Python Packages: Learn to use the
pip
command in the Terminal to add Python libraries to your projects. Libraries are pre-written code shared by others. - Java Packages: Understand how to use the
pom.xml
configuration file to add third-party libraries to your Java projects.
Engagement and Participation Goals
- Active Participation: Bringing your laptop daily is crucial. Lack of access to necessary tools equates to an absence and will require makeup.
- Understanding Tools: Engage with tools daily. Discuss what you learn as you use your tools with your pair coder, then share newly learned elements with others. Familiarity and sharing will breed understanding and efficiency in your individual and team projects.
- Community and Support: Be a daily communicator at your table and in Slack. Start the communication habit now. Information sharing needs to be constant and timely.
- Team and Project Communication: Start researching tenets of Agile/Scrum methodologies. Use the GitHub Issue and GitHub Project tools. All students will qualify for the right to be on a project team based on fundamental tool knowledge, communication habits, and supporting assessments and analytics.