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
Beginner 从空白开始学 Python 九位学生已经走过的确切步骤,从空白文件到一个能提问、检查答案并拒绝错误输入的程序。无需编程基础。无需数学。你会故意反复出错。
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 Without the Hype
Beginner AI Without the Hype 模型在回答你时实际上在做什么,为什么这会产生看起来像思考的东西,为什么它编造引文,以及几乎没有人解释的成本机制:每一轮聊天都会重新发送整个对话。你将自己做算术。
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.