2025-05-10 Week 1 - Session 1: Introduction to TDS - TDS May 25#

2025-05-10 Week 1 - Session 1: Introduction to TDS - TDS May 25

Duration: 2h 29m

Here’s an FAQ summary of the TDS live tutorial:

Q1: What is Tools in Data Science (TDS), and how is the course structured?

A1: TDS covers difficult topics in data science. The course has 7 modules, typically spread over 9-10 weeks (not a strict weekly cadence), with 7 Graded Assignments (GAs) and 2 projects.

Q2: What platform do we use for TDS?

A2: We use our own custom server for TDS, not the Seek portal. You’ll need to log in directly to our platform, though Seek may have links redirecting you there. The Seek portal itself will contain minimal course information.

Q3: How do I submit my answers and ensure they are graded?

A3: After answering questions on our platform, you need to click the “save” button. Your last saved submission will be considered your official score.

Q4: What happens if I make small mistakes, like incorrect file naming, and why is the grading so strict?

A4: Small mistakes, such as misspelling a file name (e.g., “Dockerfile” vs. “dockerfile”), can result in zero marks. This strictness is intentional. In a real-world professional setting, even a minor error can lead to significant project failures and financial losses. The academic environment provides a safe space to learn the importance of precision and careful adherence to instructions before you face such high stakes. We expect you to be mature enough to read instructions thoroughly.

Q5: How will I receive important announcements and updates for the course?

A5: Important announcements and updates will be shared on our custom course portal (in a dedicated section and via a bell icon), through email (look for “TDS [Date]” in square brackets in the subject line), and most crucially, on Discourse.

Q6: Is using Discourse mandatory for TDS?

A6: Yes, being active on Discourse is mandatory and crucial. You won’t be able to complete some tasks, such as Project 1, without it. Bonus marks and urgent updates are also frequently shared there. I strongly recommend subscribing to Discourse notifications (either a daily digest or instant alerts) to stay informed.

Q7: Are live sessions mandatory, or can I learn everything from documentation and videos?

A7: You can certainly succeed by studying the provided documentation and videos alone. However, many past students have found the live sessions extremely valuable. They often include additional tips, insights, and examples that might not be explicitly covered in the static course materials.

Q8: Where can I find my grades for TDS?

A8: Your grades will not be displayed on the Seek portal. Instead, they will be posted on your student dashboard, which is where you access your various course cards.

Q9: Why doesn’t the course allow comments on YouTube videos?

A9: We do not enable comments on YouTube videos primarily to avoid the burden of moderation and to prevent unmanaged discussions or potential trolling from outside the course community. Discourse provides a controlled environment where all participants are either students or instructors, fostering more relevant and productive interactions.

Q10: Can we have a common digital space, like a class notice board or shared document, where students can ask questions and share useful resources without cluttering Discourse threads?

A10: Our Discourse setup is designed to address this. We organize discussions by keeping all conversations related to a specific graded assignment (GA) within a single, dedicated thread. For example, all queries and shared resources for GA1 will be found in one GA1 thread. We actively monitor and redirect any new threads that should belong to an existing GA discussion.

Q11: Is all the course content available upfront, and is it finalized?

A11: Almost all course content is available upfront, allowing you to work at your own pace. It is approximately 85% finalized. While nothing will be removed, we may add new material or make minor updates (for instance, when a new GA is released). It’s a good practice to always check for updates when new GAs become available.

Q12: What prior knowledge or skills are prerequisites for TDS?

A12: Successfully completing GA1 (Graded Assignment 1) is a good indicator of readiness. You’ll need foundational knowledge in Python, basic Bash scripting, HTML/CSS, JavaScript, SQL, and Git. More specifically, comfort with VS Code, browser developer tools, understanding JSON, and proficiency in basic Git operations (like pushing commits, creating repositories, and pull requests) are highly recommended.

Q13: I’m not familiar with some concepts in GA1 and need to watch videos to solve questions. Is this acceptable? I’m also taking MAD2 and System Commands concurrently.

A13: Yes, it’s completely acceptable to use the provided videos and documentation to learn and solve problems. The course is designed with this learning approach in mind. However, be prepared for a substantial workload, especially since you’re taking MAD2 and System Commands, which will also provide useful skills for TDS.

Q14: Will live sessions be available on YouTube, and will they be live-streamed?

A14: Yes, recordings of the live sessions will be uploaded to our YouTube channel (link provided during the session) typically within a day. They are not live-streamed directly because we apply a custom processing pipeline to add features like chapter markers, bookmarks, and FAQs to the videos. You should subscribe to the channel for updates.

Q15: How many live sessions are held each week, and what is their purpose?

A15: Typically, we conduct two main teaching sessions per week. For more challenging modules or projects (such as those involving LLMs), there might be up to five sessions. Additionally, a dedicated session for doubt-clearing is held on Wednesday evenings.

Q16: How challenging are TDS projects, and what’s the best approach to prepare for them?

A16: TDS projects are notably challenging. Many students struggle because they underestimate the complexity and postpone working on them until the last minute. This often leads to missing critical details, which can result in low scores. My strong advice is to read the project details as early as possible. Adopt an “end-in-mind” approach: understand the project’s goal, then identify and learn the necessary tools and concepts.

Q17: As a direct entry student with no prior programming or coding background, what specific advice do you have for me?

A17: This course will be particularly challenging for you. My strongest recommendations are:

  • Dedicate ample time to watch all videos and practice every concept diligently.
  • Attend all live sessions, actively ask questions, and don’t hesitate to share your screen for debugging.
  • Collaborate with your peers; our data shows that successful students often work in groups.
  • Familiarize yourself with Linux and Bash. If you’re using Windows, prioritize using WSL (Windows Subsystem for Linux) or a virtual machine (VM) over a native Windows environment, as many tools are incompatible or complex on Windows.

Q18: What is the “virtual TA,” and how can it help me?

A18: The virtual TA is an LLM (Large Language Model) specifically designed for TDS. It has been trained on all course content, video transcripts, and related materials. This makes it highly knowledgeable and an infinitely patient tutor, available 24/7. It can explain complex concepts in various ways (e.g., “explain it as if I’m five”) and is excellent for debugging code. I strongly recommend using it often; even instructors use it as a powerful resource.

Q19: What is agentic mode in VS Code, and how can it help me?

A19: Agentic mode in VS Code is a powerful feature that allows an AI agent to perform complex tasks, including generating entire projects from scratch. It can create code, documentation, flowcharts, mermaid diagrams, push to GitHub, and even handle Dockerization – all without you writing a single line of code. It uses an LLM (such as GPT-4o) trained specifically for TDS. This significantly speeds up development and helps you focus on understanding concepts rather than tedious coding. You can also ask it to debug your code by simply telling it an error occurred.

Q20: What are the prerequisites for the next live session, or what should I prepare for future lessons?

A20: You should focus on installing all the necessary packages and familiarizing yourself with the core tools. This will greatly help you for the rest of the term. We will likely conduct an extra session soon to help with package installations and setup, especially for those who faced issues.

Q21: You mentioned using export commands for environment variables. What does that mean, and why is it important for the course?

A21: Exporting an environment variable means storing a variable (like an API key or a base URL) on your system so that it’s universally accessible by various programs, including our course’s packages. For example, the LLM (Large Language Model) package needs to know your OPEN_API_KEY and OPEN_API_BASE_URL to function. You use the export command (e.g., export OPEN_API_KEY="your_key_here") in your terminal. This allows the LLM package to automatically pick up these values. You can verify it by typing echo $OPEN_API_KEY (or the variable name) in your terminal.

Q22: Do I need to install WSL (Windows Subsystem for Linux) or a VM (Virtual Machine) on my Windows machine?

A22: Yes, I strongly recommend installing either WSL or a VM. While it wasn’t fully demonstrated in this session, using a Linux environment is crucial because many tools we use (like Docker) are not natively supported or are more complex to run on pure Windows. For VMs, my suggestion is to install Ubuntu Server (a CLI-only version) as it runs faster than a full GUI version and all our commands primarily use the command line.

Q23: What permissions do I need for the Open AI API key?

A23: There are no specific permissions you need to grant. The main requirement is that the environment variables (like OPEN_API_KEY and OPEN_API_BASE_URL) must be correctly set in your system. Once these variables are set, the LLM package you’ve installed will automatically be able to pick them up and use them to access the API.

Q24: What is the recommended version of Python and the Linux distribution to use?

A24: For Python, I recommend using a slightly older version than the absolute latest, such as Python 3.9 or 3.10. This is because newer versions can sometimes have compatibility issues with other packages or bugs that haven’t been fully resolved. For Linux distributions, especially if using WSL or a VM, choose an LTS (Long Term Support) version. LTS versions are more stable, less prone to bugs, and ideal for consistent development environments. Ubuntu LTS versions are a good example.

Q25: What is the best way to interact with instructors and TAs for help with the course?

A25: Please always use Discourse as your first point of contact. This ensures visibility for other students who might have similar questions, and it allows multiple TAs and instructors (including Professor Anand) to respond quickly. Email is acceptable for very personal issues, but using Discourse is generally more efficient and beneficial for everyone. We aim to support students maximally, but going directly to higher authorities (e.g., the director) without following the proper channels can create unnecessary complications and won’t expedite resolution.

Q26: My internet is slow, and installing UV takes a long time. Is this normal?

A26: Yes, if your internet bandwidth is low, installing packages like UV will naturally take longer due to the download time. This is normal behavior, and there’s not much you can do beyond ensuring a stable internet connection.

Q27: How can I improve my learning experience beyond just following instructions?

A27: While it’s crucial to follow instructions, you can significantly enhance your learning by making a habit of understanding what the code or tools are doing. For example, after the agentic mode generates code, use the virtual TA to ask it to explain each part of the code. This proactive approach will help you learn the underlying principles, making you more adaptable and capable beyond just using the tools. It’s about learning, not just getting the task done.