Introduction to Computing with Python
Boğaziçi University
Department of Computer Engineering
Murat Özyurt
Fall 2022
CHAPTER 1: Introduction to Computing
Agenda
Section 01: Computing
ComputingHistory
ComputingUsage
ComputingLimitedResources
ComputingPerformance
ComputingBenchmark
Section 02: Python Source Code Development
ProgrammingLanguages
Python
PythonExecutionInTerminal
PythonCodingInTextEditor
PyCharm
Comments
MultilineStatements
Section 03: Turtle Graphics
DrawingASquare
DrawingTwoSquares
DrawingSquaresInTheCenter
PythonFoundations
Functions
MoreFunctions
EvenMoreFunctions
TurtleWithVariables
AssignmentStatements
AssignmentOperators
FunctionReturnValue
AdditionalPractice
Summary
CHAPTER 2: BASIC MATHS AND IO
Agenda
Section 01: Basic Maths
MathOperators
CelsiusToFahrenheit
FahrenheitToCelsius
PrecedenceInMathOperations
Section 02: Text IO
TextOutputAndStringLiteral
TextInput
SimpleMathsWithInput
IntAndInputFunctions
FileProcessing
Section 03: Drawing With Input
DrawingCircles
DrawingCirclesWithInitialRadius
AdditionalPractice
Summary
CHAPTER 3: CONTROL FLOW - IF ELSE STATEMENTS
Agenda
Section 01: if elif else
if-else
NumericComparison
if-elif-else
if-elif-else-multiple
Section 02: Logic
Logic
Logic_CalculateFare
Logic_TruthTable
Section 03: Recursive Functions
RecursiveFunctions
RecursiveFactorial
RecursiveFibonacci
RecursiveFibonacciImproved
Summary
CHAPTER 4: CONTROL FLOW - FOR LOOPS
Agenda
Section 01: Repeating Instructions
DrawingSquares
DrawingN-Gons
ChainOfRings
DrawingADashedCircle
Section 02: for Loops In Detail
forLoopStatement
BlockScope
forLoopFactorialFunction
forElse
Section 03: Printing Console Shapes With for Loops
NestedForLoops
Exercise-DashedShapes
RectangleOffsetting
Triangle
IsoscelesTriangle
OffsetIsoscelesTriangle
DrawingATree
Section 04: Random Numbers and Tuples
RandomNumbers
Tuples
Lists
IsOperator
MoreRandomNumbers
AdditionalPractice
Summary
CHAPTER 5: CONTROL FLOW - CONDITIONAL LOOP AND DATA STRUCTURES
Agenda
Section 01: Algorithms
Algorithms
RoboticArm
ServerClientCommunication
Section 02: Data Structures
FindMinMax
Dictionary
LenListTupleSet
Sort
MultidimensionalLists
AdditionalPractice
Section 03: Conditional Loop
WhileLoop
RandomShapes
NumberGuessing
AdditionalPractice
Summary
CHAPTER 6: CONTAINER DATA STRUCTURES
Agenda
Section 01: Strings in Detail
Strings
StringSlicing
StringMethods
StringFormatting
Section 02: Lists in Detail
ListsAndTuples
Slicing
Methods
Sorting
Operations
Section 03: Dictionaries in Detail
Dictionaries
DictionaryMethods
DictionaryOperations
Summary
CHAPTER 7: ANIMATIONS
Agenda
Section 01: Animating Shapes
PrimeNumbers
SingleSpiral
SpiralPairs
Animation
BouncingBalls
AnimatingSpiralWeb
AdditionalPractice
Section 02: Interactive Programming
InteractiveProgramming
InteractiveProgrammingClickColors
InteractiveProgrammingClickCircles
InteractiveProgrammingClickKeys
Summary
CHAPTER 8: OBJECT ORIENTED PROGRAMMING
Agenda
Section 01: OOP Workshop
OOP_class
OOP_constructor
OOP_baseDrawButtonShapeMethod
OOP_baseDrawButtonMethod
OOP_baseDrawShapeMethod
OOP_baseButtonSelectMethod
OOP_baseGetColorMethod
OOP_initButton
OOP_updateButtonsMethod
OOP_checkButtonClicks
OOP_updatedScreenClickMethod
OOP_Version1_singleShape
OOP_rectangleButton
OOP_Version2_rectangleButton
OOP_triangleButton
OOP_circleButton
OOP_Version3_triangleAndCircleButtons
OOP_randomColorButton
OOP_redButtonBoundary
OOP_Version4_colorButtons
OOP_keyboardInteraction
OOP_Version5_final
AdditionalPractice
Summary