2025 05 17 Week 1 Session 5 TDS May 2025#
Duration: 9444.0Here’s an FAQ-style summary of the discussion:
General Course Information#
Q1: What was covered in the last session?
A1: We covered the installation and download of WSL (Windows Subsystem for Linux) for Windows users, and then moved on to Git and GitHub, including concepts like pushing, committing, and using VS Code with Git.
Q2: What topics are planned for today’s session?
A2: Today, Jibraj will be covering how to use UV, install NPX (a JavaScript tool), and run JavaScript packages on your system using Node Package Manager (NPM). We’ll also briefly touch on SQL and LLM (Large Language Model) tools. We’ll conclude with a Q&A for Week 1 assignments.
Q3: Why is Git and GitHub important?
A3: Git and GitHub are extremely important for your professional career and almost everything you’ll do going forward in data science. It’s the de-facto standard for version control. Even if you don’t learn anything else from this program, make sure you understand Git and GitHub.
Q4: When will session recordings be available?
A4: Normally, recordings are available the next day. We’re developing an AI tool to chapterize the videos for easier navigation, but it has some bugs. This might cause delays in the chapterized versions.
Q5: Why are some recordings delayed or not directly accessible via the calendar?
A5: Occasionally, some videos are temporarily held back for post-processing. This happens if sensitive information, like API keys, was accidentally exposed during the live session. We clean that up before making the video fully public. However, 95% of the time, videos are directly accessible.
Q6: How can I access previous session recordings if they are not chapterized yet?
A6: You can still access the raw, un-chapterized recordings directly via the link in the calendar. If you prefer the chapterized version, you’ll need to wait until our AI tool finishes processing, which can take a bit longer.
Q7: What is Week 2 about, and why is it important?
A7: Week 2, which starts tomorrow, is very heavy with challenging topics related to deployment tools. This includes concepts like Vercel, GitHub Actions, Docker, CodeSpaces, Ngrok, and CORS. Due to the complexity and volume of content, Week 2 will be covered over several sessions.
Assignment & Technical Support#
Q8: My assignment score is showing zero, but I submitted it. Is my score lost?
A8: No, your score is not lost. The displayed score might show zero if you haven’t reloaded it properly. Click on “Recent Saves” and then the “Reload” button in the assignment interface. While it may show zero locally, your last submitted score is stored on our backend server and that will be your official score.
Q9: Some tools (e.g., Ngrok) aren’t available in my country (Qatar). What should I do?
A9: Ngrok is used to expose a locally running service (like your Fast API application) to the outside world, creating an encrypted tunnel. It seems Qatar might be blocking such encrypted tunnels for censorship reasons.
We don’t have an immediate solution, but we encourage you to investigate open-source alternatives (like “local tunnel”) that don’t rely on external servers and might not be blocked. Please share your findings on the Discord channel; this helps everyone and can lead to course improvements.
Q10: Does the assignment code for the API URL specifically require Ngrok?
A10: No, the assignment doesn’t specifically require Ngrok. It needs any URL that exposes your locally running server. Local tunnel could provide such a URL. The key is that the tunnel works. However, be aware that “local tunnel” itself might have issues with CORS (Cross-Origin Resource Sharing), which could prevent it from working fully with our system. If you find a way to make local tunnel work with CORS, that would be a valid solution.
Q11: How do I use VS Code, Git, and UV?
A11: VS Code is a code editor, similar to a glorified notepad, but with features like syntax highlighting to make code easier to read. Git is used for version control, tracking changes to your code. UV is a package manager that helps create virtual environments and manage project dependencies, similar to how Python uses pip.
To work:
- Create your project folder locally.
- Use VS Code to write and save your code files within this folder.
- Initialize a Git repository within your project folder using Git commands in the terminal (e.g.,
git init). - Use UV to manage dependencies: UV will ensure you have the correct versions of libraries required for your project. You can run scripts (like a web app) using
uv run. UV automatically sets up a virtual environment and installs/manages dependencies very quickly. - Track changes with Git: Use
git addto stage your code changes, andgit committo save those changes with a descriptive message. - Push to GitHub: Once your changes are committed, you can use
git pushto upload them to a remote GitHub repository. This allows for collaboration and secure backup.
When using GitHub CLI for authentication, it stores tokens for session persistence, so you typically don’t need to log in repeatedly in the same session.
Course & Technical Feedback#
Q12: Why is Java taught in this diploma course?
A12: Java is a significant language in the corporate world, with an estimated 40-50% of large companies relying on Java for their legacy systems. Including Java in the diploma aims to make you more job-ready and capable of working with existing corporate codebases.
Q13: There’s a lot of information and frequent switching between tools/environments (e.g., command prompt, Linux, Windows, VS Code), making it hard to follow. How can I keep up?
A13: We acknowledge that managing multiple tools and environments can be challenging, especially given the diverse skill levels among students. Our preference is for students to proactively prepare:
- Watch preparatory videos: Before each new topic, search YouTube for short (10-12 minute) videos explaining “Why should I learn X?” and “What is X?” (e.g., “Why should I learn Docker?”, “What is Docker?”). This helps you understand the purpose and basic concepts.
- Practice hands-on: For command-line issues, don’t hesitate to copy the code, execute it, and if you encounter an error, copy the error message and use ChatGPT for troubleshooting.
- Start using Git/GitHub daily: Make it a habit to use Git/GitHub for everything, even taking notes (e.g., using Markdown with Obsidian). This helps build familiarity and proficiency, which is crucial for industry expectations.
We’ve proposed bridging courses to management to help students without strong programming backgrounds catch up, but this idea hasn’t been approved yet. However, we’re constantly striving to find the right balance between foundational teaching and covering advanced topics. Your active participation and feedback are vital for us to improve.
Q14: Can we have a Discord thread for technical keywords/questions?
A14: Yes, absolutely! Please create a dedicated thread on Discord for technical keywords and questions. You can add keywords you don’t understand, and others can contribute answers or discuss. This will help us identify common sticking points and better address them in future sessions.
Q15: When using Git, should I put sensitive information like API keys or passwords in my repository?
A15: No, never! This is extremely important: never ever put API keys, passwords, or any other sensitive secrets directly into a Git repository. It’s a common and dangerous mistake. Even if you later remove or “untrack” it, a malicious actor can still retrieve past versions of your repository. Git has known vulnerabilities regarding sensitive data exposure. Only push content you are willing to share publicly.
