Video summary

PROGRAMACIÓN I COMISIÓN C y D ENCUENTRO 2

Main summary

Key takeaways

Educational

Main ideas, concepts, and lessons

1) Course logistics and prerequisites

  • This is Meeting #2 for the “Programming class” (Commission C y D, referred to as the “number one programming class”).
  • The teacher checks whether students can:
    • Install Git Bash
    • Follow the installation videos without issues
  • The teacher clarifies that some video steps (e.g., clicking “Next”) may be slightly outdated, but the key is to correctly select options related to Git Bash shortcuts.

2) Git Bash installation focus (important setup detail)

  • During Git Bash installation:
    • Most screens involve repeatedly clicking “Next”
    • Students must ensure shortcut options are enabled so Git Bash can be opened from the right-click context menu
  • The teacher explains:
    • There are three checkboxes early in the installer
    • Activating the first checkbox often auto-activates the other two by default
    • The exact wording/availability may vary depending on the Git Bash version, but the goal is to enable the required shortcut functionality.

3) Why GitHub + Git Bash matter for the course

Students are instructed to:

  • Create a GitHub account
  • Install Git Bash

Then they will work inside a folder that is synced to GitHub.

Key benefits emphasized:

  • All submitted exercises (Python, PCN, etc.) must be uploaded to the synchronized folder/repository
  • Having repositories on GitHub is useful for:
    • Job interviews (evidence of programming work)
    • Practice, since many companies use GitHub

4) Forum participation requirement

  • The teacher states the forum is mandatory.
  • Due to time constraints, they may not respond to every post individually:
    • If answers are wrong or don’t match the activity instructions, they will respond/correct
    • If they don’t respond, responses likely meet expectations

5) Visual/meeting management (Teams/Meet backgrounds)

The teacher and students discuss updating a virtual background:

  • In camera settings (expanded options) → backgrounds/effects/video settings
  • Purpose:
    • Improve class appearance
    • Maintain privacy

Core technical content: “Problems in the field of computer science” (computing problem categories)

The teacher frames programming readiness as requiring:

  • Minimum knowledge of both software and hardware
  • Ability to troubleshoot

A) Definition of the topic

In computer science, problem analysis means identifying, understanding, and solving issues related to:

  • Development, maintenance, and use of computer systems

Process:

  1. Analyze the problem
  2. Identify root cause
  3. Develop an effective solution

B) Hardware vs. software (definitions and distinctions)

  • Software: everything digital you can interact with that is not physical, including:
    • Operating system
    • Applications/tools/frameworks (e.g., Visual Studio Code)
  • Hardware: physical components inside the computer/tower/case, such as:
    • CPU/processor
    • Motherboard
    • Video card
    • RAM
  • Clarification from the teacher:
    • Peripherals like mouse/keyboard/screen are treated as peripherals (physical external devices), not core “hardware” in this phrasing.

C) Troubleshooting categories (what can go wrong)

1) Software errors

Examples:

  • Applications failing to open
  • Programming errors

Suggested approach:

  • Source code analysis (review code and project structure)

Also consider:

  • Problems caused by third-party software (e.g., browser issues, Chrome blocking pages due to security settings)

2) Hardware problems

Key examples and concepts:

  • Processor cooling
    • Heatsink + fan + thermal paste
    • Thermal paste doesn’t “cool” the CPU directly; it improves contact between the CPU and heatsink
  • Hard drive failures / disk issues
    • Not always “burning out”; sometimes it’s:
      • Disk full / near full
      • Fragmentation effects (for HDDs)

SSD vs HDD

  • SSD: fast “solid-state” storage without moving parts
  • HDD: uses moving parts

Lesson emphasized:

  • Budget/lower-end machines may be “deceptive” (e.g., soldered storage that’s not easily replaceable)

3) Security problems (viruses/malware/hacking)

Security is presented as essential even for programmers to avoid:

  • Vulnerabilities in delivered software
  • Data theft

Principles mentioned:

  • Encrypt sensitive data (passwords, user info)
  • Secure forms/transmission mechanisms (teacher references PHP-like handling)

Threat types described:

  • Annoying viruses
    • Spam/popups that irritate
  • Trojans/worm-like malware
    • Slows systems and damages files over time
    • Removal: antivirus or formatting if detection fails
  • Ransomware
    • Steals/encrypts information
    • Often connected (per the teacher) to downloading pirated/cracked software
    • Behavior described:
      • Runs hidden scripts
      • Captures activity (including browsing and credentials)
      • Encrypts data; decryption is generally infeasible

Detection/mitigation advice:

  • Use an antivirus (teacher emphasizes having one good one)
  • Avoid suspicious/cracked sites and unsafe TLDs
  • Don’t trust site “secure” indicators alone

Additional discussion:

  • HTTPS/SSL (“secure” sites) does not guarantee safety from malicious content
  • Human behavior is described as the biggest factor in security failures

Question: multiple antiviruses?

  • Teacher’s answer: don’t install more than one antivirus

4) Performance issues

Symptoms:

  • Slow or crashing applications

Common causes emphasized:

  • RAM saturation (memory usage)
  • CPU temperature / overheating
  • Background services and disk usage spikes

Example procedure/tools:

  • Open Task Manager
    • Right-click taskbar/start → Task Manager, or press Ctrl+Shift+Esc
  • Check:
    • CPU %, Memory %, Disk %, Network %, GPU %
  • Look for red/highlighted issues such as Memory 100%

Optimization suggestions:

  • Disable unnecessary startup apps/services
  • Possibly disable system services (teacher mentioned):
    • Windows Search
    • SysMain/SisMain-related service
  • Clean temporary files using:
    • %temp% via Run
    • temp via Run (system temp)
  • Warning:
    • Some temp files may not delete—use “Skip” when retry dialogs appear

Detailed methodology/instructions: Git Bash + GitHub workflow

This section provides a step-by-step process for setting up a Git repository and syncing a local folder to GitHub.

Step-by-step: Create local folder + file (pre-Git)

  1. Create a new folder on the desktop
    • Right-click desktop → New folder
    • Name it (teacher uses something like):
      • “practical practices under programming” / “programming exercises” (underscored naming)
  2. Inside the folder, create a text file using Notepad
    • Example contents:
      • “welcome”
      • “hello”
    • Save as welcome.txt

Step-by-step: Open Git Bash in that folder

  • Ensure installation enabled the right-click Git Bash option
  • Right-click inside the folder → “Open Git Bash here”

Step-by-step: Create a GitHub account (prerequisite)

  • Go to GitHub and:
    • Create account
    • Log in
    • Log in via Google or via email/username + password
    • Email verification code may be required depending on sign-up method

Step-by-step: Create a GitHub repository

  • On GitHub:
    • Click New (green button)
    • Choose repository name (teacher uses consistent naming like programming practices…)
    • Optionally add a description
    • Choose visibility: usually Public
    • Decide whether to enable README:
      • Teacher keeps README disabled
    • Click Create repository

Step-by-step: Initialize Git and upload the local folder to GitHub

Commands are run inside Git Bash.

1) Initialize the repository locally - In Git Bash (inside the empty folder): - git init

2) Check status - git status - Expected: - Files appear as “uncommitted” / red if not staged yet

3) Add files to the staging area - Example for one file: - git add welcome.txt - Teacher’s general recommendation: - git add . (adds everything in the folder)

4) Commit the staged changes - git commit -m "project uploaded" - Teacher explains: - -m is the commit message - The message should describe what changed (e.g., “project uploaded”)

5) Create/ensure main branch - GitHub-related branch naming referenced by the teacher: - git branch -M main - Teacher’s explanation: - This selects the main branch (the main line in the repository)

6) Link local repo to the remote GitHub repo - Use a remote add command with the repository URL: - git remote add origin https://github.com/.../....git

7) Push to GitHub (upload) - git push -u origin main - Teacher explains “push” as sending local commits to the remote GitHub repository

Verification:

  • Refresh GitHub to confirm welcome.txt appears
  • Open the file to confirm its content (e.g., “hello”)
  • Confirm the commit message shown on GitHub matches what was committed

Step-by-step: Sync changes later via Visual Studio Code + Git

  • Teacher demonstrates editing welcome.txt in Visual Studio Code
    • Save after editing (e.g., “hello” → “Hello, Pepe”)
  • Observed:
    • The file appears as modified (VS Code shows “M” / modified status)
  • Then:
    • In VS Code Git panel:
      • Create a commit with a message (e.g., “Pepe was added to the greeting”)
      • Synchronize/push changes
  • Verification:
    • Refresh GitHub → commit history updates and text changes appear

Step-by-step: Add new exercise files (e.g., Python)

  • Create a new file (e.g., exercise1.py or a similarly named .p / source file)
  • Save, commit, and push using VS Code Git integration
  • GitHub should then show:
    • The new file added
    • Contents visible in the repository

Teacher emphasizes this workflow for:

  • PCN exercises
  • Python exercises
  • Other submitted artifacts

Step-by-step: Deleting a GitHub repository (when needed)

  • Delete from GitHub UI:
    • Teacher shows deletion via GitHub settings
    • Scroll → Delete this repository
    • Confirm multiple times (password required)
  • Alternative delete methods are mentioned (console/terminal), but UI is recommended.

Speakers/sources featured

  • Teacher (primary speaker)
  • Paloma (student; asks about Git Bash installer “Next” / version mismatch and background)
  • Victor (student; asks about Git Bash/version and RAM/performance matters)
  • Miguel (student; participates in background/installer questions)
  • Silvia (student; asks about forum/clarification reasons; acknowledges)
  • Juan (student; participates in security/HTTPS confusion)
  • Maxi (student; participates in Git/GitHub questions and scheduling)
  • José (student; mentions security/HTTPS/safety considerations)
  • Juan Manuel (student; mentioned with ransomware-related resources/links)
  • ForTi/Forti (referenced as a company/source in security discussion; ransomware/security impact attributed to leaked usernames/passwords)
  • BitDefender (antivirus brand used as an example)
  • Malwarebytes (mentioned as “Malwides/Malwabytes” in browser extension context)
  • Browsers: Google Chrome, Firefox, Brave
  • Meeting platforms: Microsoft Teams / Google Meet
  • Cloud storage: OneDrive, Google Drive
  • Windows services: Windows Search, SysMain/SisMain
  • GitHub (main source for repository creation and commands)

Original video