NSWI170 Computer Systems

Počítačové systémy

Photo David Bednárek

Cvičení - David Bednárek

Středa 15:40-17:10

Učebna: N8


Nejpozději na druhé cvičení (🟥5.3. 🟦12.3.) si přineste Arduino se správným shieldem (podle pokynů přednášejícího). Půjčují se v knihovně na Malé Straně.

Podmínky pro udělení zápočtu

Plán cvičení

Datum
cvičení
První
termín
Druhý
termín
Téma Smrtelné
hříchy
Podklady Recodex
🟥19.2.2025
🟦26.2.2025
🟥26.2.2025
🟦5.3.2025
🟥19.3.2025
🟦26.3.2025
Úvod do jazyka C(++)
🟥5.3.2025
🟦12.3.2025
🟥12.3.2025
🟦19.3.2025
🟥2.4.2025
🟦9.4.2025
Arduino Absence dekompozice hello_world.ino
ZIP File Icon Funshield.zip
🟥02 - Arduino LEDs
🟦02 - Arduino LEDs
🟥19.3.2025
🟦26.3.2025
🟥26.3.2025
🟦2.4.2025
🟥16.4.2025
🟦23.4.2025
Tlačítka Nepojmenované konstanty ZIP File Icon starter_pack.zip 🟥03 - Arduino Tlačítka
🟦03 - Arduino Tlačítka
🟥2.4.2025
🟦9.4.2025
🟥9.4.2025
🟦16.4.2025
🟥30.4.2025
🟦7.5.2025
Sedmisegmentovka Copy-Paste
🟥16.4.2025
🟦23.4.2025
🟥23.4.2025
🟦30.4.2025
🟥14.5.2025
🟦21.5.2025
Stopky Globální proměnné
🟥30.4.2025
🟦7.5.2025
🟥7.5.2025
🟦14.5.2025
🟥28.5.2025
🟦4.6.2025
Běžící zpráva Nedostatečná Enkapsulace

Odevzdávání a opravování domácích úkolů

credit_status homework(int i)
{
    start = now();
    solution = starter_solution;
    /* DAY 0: assignment */
    do {
        solution = student.improve(solution);
        if (now() > start + 7) 
            break;
        student.submit(solution);
    } while (solution.validity < 100% || student.dislike(solution));
    /* DAY 7: first deadline */
    acceptable_solutions = solutions.filter(validity == 100%);
    if (! acceptable_solutions.empty())
    {
        solution = acceptable_solutions.latest();
        review = teacher.review(solution);
        /* DAY 14: first review completed */
        if (review == DEADLY_SIN)
            solution.set_points(0); 
            goto zero_points;
        }
        solution.accept(); /* ✅ */
        if (review == OK) {
            solution.set_points(1+i); 
            return ALIVE;
        }
        solution.set_points(1); 
        do {
            do {
                solution = student.correct(solution, review);
                if (now() > start + 28) /* second deadline */
                    return ALIVE;
                student.submit(solution);
            } while (solution.validity < 100% || student.dislike(solution));
            student.request_review(solution);
            review = teacher.review(solution);
        } while (review != OK);
        solution.accept(); /* ✅ */
        solution.set_points(1+i); 
        return ALIVE;
    }
    /* DAY 7: first deadline missed */
    if (student.cannot_understand(solution.validity))
    {
        student.request_review(solution);
        review = teacher.review(solution);
        /* DAY 14: help review completed */
    }
zero_points:
    do {
        do {
            solution = student.correct(solution, review);
            if (now() > start + 28) /* second deadline */
                return DEAD; /* 🛑 */
            student.submit(solution);
        } while (solution.validity < 100% || student.really_dislike(solution));
        review = teacher.review(solution);
    } while (review == DEADLY_SIN);
    solution.accept(); /* ✅ */
    solution.set_points(0); 
    return ALIVE;
}