1/33
A comprehensive set of practice flashcards covering Python history, features, programming fundamentals, and language concepts from the COMP102 lecture notes.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Who created Python and where was it developed?
Guido van Rossum at the Centrum Wiskunde & Informatica (CWI) in the Netherlands, during the late 1980s and early 1990s.
What was Guido van Rossum's role in Python's governance until 2018?
He was the Benevolent Dictator for Life (BDFL); after 2018 governance shifted to the Python Steering Council.
What is the origin of the name 'Python' according to the notes?
It is named after Monty Python's Flying Circus, not the snake.
Which languages influenced Python's design?
ABC, Modula-3, C, C++, Algol-68, SmallTalk, Unix Shell, and other scripting languages.
What are the two main characteristics of programming languages mentioned?
Syntax rules and Commands/Statements.
What is Python in brief?
A high-level, interpreted, object-oriented programming language created by Guido van Rossum, released in 1991, known for readability and versatility.
What did Python 0.9.0 introduce?
The first version with classes, exceptions, core data types (lists and dicts), and functions.
What features were added in Python 1.0?
Functional features (map, filter, reduce, lambda), complex numbers, and modules for code reuse.
What were the highlights of Python 2.0?
List comprehensions, garbage collection, Unicode support, and libraries like NumPy, SciPy, and Django.
What changes came with Python 3.0 (Py3k)?
Major redesign, not backward compatible, better Unicode, print() as a function, improved integer division; 2to3 tool introduced.
When did Python 2 reach end-of-life and what happened?
January 1, 2020; Python 2.7 was the final release; Python 2 was officially discontinued.
What are Python 3.11 and 3.12 focused on?
3.11: performance improvements (up to 60%), clearer error messages, tomllib; 3.12: further performance improvements, simpler syntax, better error tracing.
What is a program?
A collection of step-by-step instructions that tells the computer what tasks to perform and what output to produce.
What is a programming language?
A formal set of rules and syntax used to communicate instructions to a computer; provides a structured way to write code.
What are the two main characteristics of programming languages?
Syntax rules and Commands/Statements.
What is programming?
The process of designing and building executable computer programs to achieve a specific computing task.
Why learn programming?
Understanding technology, problem-solving skills, career opportunities, automation, and creativity.
What do programmers do?
Design solutions, develop software, code, test and debug, maintain, and document software.
What are the four main steps of the Software Development Process described?
Defining the Problem (input, process, output); Planning the Solution (algorithm, pseudocode, flowchart); Coding the Program; Testing the Program (debugging, proofreading, translator).
What are the two types of translators mentioned?
Interpreter and Compiler.
What are the two main types of bugs?
Syntax Errors and Semantic (Logic) Errors.
What are signs of semantic errors?
Incorrect or unexpected output, program crashes or hangs, runtime errors.
What is documentation in programming and its forms?
Writing explanations of code, logic, and instructions; Internal (comments) and External (manuals/reports).
In Python, how are comments written?
Using the # symbol.
List key features of Python.
Beginner-friendly, dynamically typed, interpreter-based, interactive mode (REPL), multi-paradigm, rich standard library (NumPy, Pandas, Matplotlib, Tkinter, Math), open source and cross-platform.
Which GUI frameworks are mentioned for Python?
Tkinter (built-in), PyQt and WxWidgets (external).
What databases can Python connect to as per the notes?
Relational databases like MySQL and PostgreSQL, and NoSQL databases like MongoDB via DB-API.
What are Jython and IronPython?
Implementations of Python on the Java platform and on the .NET framework, respectively.
What can Python be used for?
Web development, software development, data analysis, system scripting, database interaction, rapid prototyping, game development, machine learning and AI.
What development tools are commonly used for Python?
IDEs such as Thonny, PyCharm, NetBeans, Eclipse, and simple text editors.
How does Python syntax define code blocks differently from languages that use curly braces?
Indentation defines code blocks; new lines end statements; no semicolons required; emphasis on readability.
What is Python's 'Pythonic' code style?
Clean, simple, readable, and explicit code.
What does REPL stand for and what is it?
Read-Evaluate-Print Loop — the interactive Python shell.
What does the phrase 'batteries included' refer to in Python?
A rich standard library with many modules available by default.