code programming

From Python to C++ — and Why the Difference Matters

You already have a working Python program. You are going to write it again in C++, line for line, and reproduce its worst bug on purpose. Along the way you find out why the compiler wants to know the size of the box before you put anything in it, and why the error now arrives before the program has even run.

  • trending_upIntermediate
  • schedule6h 15m
  • menu_book12 堂課程
  • publicEnglish
  • workspace_premiumBasic
From Python to C++ — and Why the Difference Matters

課程簡介

This is not a C++ course for people who have never programmed. It is a second language for someone who has a first one, taught entirely by contrast. Python let you write `age = 11` and never asked what `age` was. C++ makes you declare it, and it makes you choose between six kinds of box before you have put anything in one. That is annoying for about two hours and then it is the reason your program runs fast enough to finish inside a four-second limit. The spine of the segment is a port. You take the small question-and-answer script from the Python track — the one that asks your name, asks your favourite food and judges the answer — and you rebuild it in C++ a line at a time. Then you type your answer with a trailing space and it fails in exactly the same way it failed in Python. That is the point of the whole exercise. The trailing space was never a Python bug. It was an input bug, and it followed you. The last module points at USACO Bronze: what a competitive problem actually looks like on paper, how the input arrives, why the array is fixed at a thousand before you have read a single number, and why nearly everyone in that room is writing C++.

課程大綱 · 4 個單元

lock隨存取權限解鎖
  1. 01 The Box Has a Size
    3 堂課程·1h 22m

    Python worked out what you meant. C++ makes you say it in advance, once, and then holds you to it for the rest of the program. Everything in this module is that one trade, examined.

  2. 02 Where the Error Arrives
    3 堂課程·1h 23m

    Python runs a line, then reads the next one. C++ reads the whole file, refuses it if any part of it is wrong, and only then produces something you can run. Nothing you wrote today runs until all of…

  3. 03 The Port
    3 堂課程·1h 55m

    Port it, do not rewrite it. Same order, same questions, same output. If you improve it while you translate it you will not be able to tell which differences are C++ and which are you.

  4. 04 The Shape of a Contest Problem
    3 堂課程·1h 35m

    A contest problem is a contract. Input format, output format, constraints, limits. Read the constraints before you think about the algorithm — they are telling you which algorithm is allowed.

常見問題

我將在 From Python to C++ — and Why the Difference Matters 中學到什麼?
You already have a working Python program. You are going to write it again in C++, line for line, and reproduce its worst bug on purpose. Along the way you find out why the compiler wants to know the size of the box before you put anything in it, and why the error now arrives before the program has
我需要事先具備經驗嗎?
建議在開始 From Python to C++ — and Why the Difference Matters 前具備一些先備知識。
From Python to C++ — and Why the Difference Matters 需要多長時間?
From Python to C++ — and Why the Difference Matters 包含 4 個單元和 12 堂課程。你可以按自己的進度學習。
我如何取得存取權限?
From Python to C++ — and Why the Difference Matters 包含在任何付費訂閱方案中。

程式設計 中的更多內容

Binary, Hex and Data Units
Beginner Binary, Hex and Data Units The topic that costs more marks than any other on the paper, taught by hand. Bits and bytes, binary and hex in all six directions, the 1000-versus-1024 trap, file sizes, transmission times, overflow, two's complement and character sets. Every module ends in a timed drill marked the way an examiner marks it.
Python From a White Sheet
Beginner Python From a White Sheet 九位學生已經走過的確切序列,從空白檔案到詢問問題、檢查答案並拒絕不良輸入的程式。無需事前程式設計知識。無需數學。你會故意反覆破壞它。
First Program — Scratch for ages 5–9
Beginner First Program — Scratch for ages 5–9 Nine Scratch blocks, three sessions of about twenty-five minutes, and one small program a child of five to nine builds themselves. Written for the parent sitting beside them: what to click, what they will get stuck on, what to say when it goes wrong, and when to keep your hands off the mouse.
無炒作的 AI
Beginner 無炒作的 AI 模型在回答你的時候實際在做什麼,為什麼那會產生看起來像思考的東西,為什麼它會編造引文,以及幾乎沒人解釋的成本機制:每次對話時聊天應用都會重新傳送整個對話紀錄。你會自己算出算術。
IGCSE 和 GCSE 電腦科學——能真正得分的理論
Intermediate IGCSE 和 GCSE 電腦科學——能真正得分的理論 試卷的理論部分,教到足以通過考試。記憶體階層和開機時實際發生什麼。編譯器、直譯器和組譯器,包括聽起來對但得零分的答案。從試算表到鍵和正規化的資料庫。DNS 和從按下 Enter 到看到頁面的完整路徑。系統軟體,以及倫理和法律部分——試卷上最好拿的十分。
Programming for the Exam — Python Answers That Score
Intermediate Programming for the Exam — Python Answers That Score The programming half of the paper, taught at exam pitch. Pseudocode translated both ways, because the mark scheme is written in a notation nobody practises. Trace tables done column by column, including the ones with a loop and a condition inside it. Linear and binary search, bubble and insertion sort, what each costs and the comparison questions boards love. Validation against verification, and the boundary test data everybody forgets. Procedures against functions, and a systematic method for finding your own error with four minutes left.