Introduction to Computing with Python

Boğaziçi University

Department of Computer Engineering

Murat Özyurt

Fall 2024

!! It is your own responsibility to check the Moodle Page of the course regularly for updates and announcements !!


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