96
M269 Overview Phil Molyneux M269 Overview B Tutorial Agenda Adobe Connect M269 Overview Basic Computational Components Python Learning Software Packages What Next ? M269 Overview M269 Overview B Phil Molyneux 21 October 2018 1/68 (1/96)

M269 Overview - M269 Overview B - pmolyneux.co.uk · I MicrosoftExcel=2^2^2^2^2 == 65536 I Haskelllength (show (2^2^2^2^2)) == 19729 I 222 22 has19729digits I WhatisExceldoingdifferently?

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

M269 OverviewM269 Overview B

Phil Molyneux

21 October 2018

1/68 (1/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

M269 Overview B TutorialAgenda

I IntroductionsI M269 OverviewI Unit 1 — Komodo and PythonI How to survive learning software packagesI Adobe Connect — if you or I get cut off, wait till we

reconnect (or send you an email)I Time: about 1 hourI Do ask questions or raise points.I Source: pmolyneux.co.uk/OU/M269/M269TutorialNotes/M269TutorialOverview/

I Slides M269Prsntn2018JTutorialOverviewBStuPreview.beamer.pdf

I Notes M269Prsntn2018JTutorialOverviewBStuPreview.article.pdf

I Overview B — Basic PythonI Algorithm design examples

2/68 (2/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

M269 TutorialIntroductions — Me

I Name Phil MolyneuxI Background

I Undergraduate: Physics and Maths (Sussex)I Postgraduate: Physics (Sussex), Operational Research

(Brunel), Computer Science (University College,London)

I Worked in Operational Research, Business IT, Webtechnologies, Functional Programming

I First programming languages Fortran, BASIC, PascalI Favourite Software

I Haskell — pure functional programming languageI Text editors TextMate, Sublime Text — previously

EmacsI Word processing in LATEX — all these slides and notesI Mac OS X

I Learning style — I read the manual before using thesoftware

3/68 (3/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

M269 TutorialIntroductions — You

I Name ?I Favourite software/Programming language ?I Other OU courses ?I Anything else ?

4/68 (4/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe ConnectStudent View

Settings

Student & Tutor Views

Ending a Meeting

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

Adobe ConnectInterface — Student Quick Reference

5/68 (5/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe ConnectStudent View

Settings

Student & Tutor Views

Ending a Meeting

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

Adobe ConnectInterface — Student View

6/68 (6/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe ConnectStudent View

Settings

Student & Tutor Views

Ending a Meeting

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

Adobe ConnectSettings

I Everybody: Audio Settings Meeting Audio Setup Wizard. . .

I Audio Menu bar Audio Microphone rights for Participants 4

I Do not Enable single speaker modeI Drawing Tools Share pod menu bar Draw (1 slide/screen)I Share pod menu bar Menu icon Enable Participants to draw 4 grayI Meeting Preferences Whiteboard Enable Participants to draw 4

I Cancel hand toolI Do not enable green pointer. . .I Meeting Preferences Attendees Pod Disable Raise Hand

notificationI Cursor Meeting Preferences General tab Host Cursors

Show to all attendees 4 (default Off)I Meeting Preferences Screen Share Cursor Show Application Cursor

I Webcam Menu bar Webcam Enable Webcam for Participants 4

I Recording Meeting Record Meeting. . . 4

7/68 (7/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe ConnectStudent View

Settings

Student & Tutor Views

Ending a Meeting

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

Adobe ConnectAccess

I Tutor AccessI TutorHome M269 Website Tutorials

I Cluster Tutorials M269 Online tutorial room

I Tutor Groups M269 Online tutor group room

I Module-wide Tutorials M269 Online module-wide room

I AttendanceTutorHome Students View your tutorial timetables

I Beamer Slide Scaling 440% (422 x 563 mm)I Clear Everyone’s Status

Attendee Pod Menu Clear Everyone’s Status

I Grant AccessMeeting Manage Access & Entry Invite Participants. . . and sendlink via email

8/68 (8/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe ConnectStudent View

Settings

Student & Tutor Views

Ending a Meeting

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

Adobe ConnectKeystroke Shortcuts

I Keyboard shortcuts in Adobe ConnectI Toggle Mic + M (Mac), Ctrl + M (Win)

(On/Disconnect)I Toggle Raise-Hand status + E

I Close dialog box (Mac), Esc (Win)I End meeting + \

9/68 (9/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe ConnectStudent View

Settings

Student & Tutor Views

Ending a Meeting

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

Adobe Connect InterfaceStudent View (default)

10/68 (10/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe ConnectStudent View

Settings

Student & Tutor Views

Ending a Meeting

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

Adobe Connect InterfaceTutor View

11/68 (11/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe ConnectStudent View

Settings

Student & Tutor Views

Ending a Meeting

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

Adobe Connect InterfaceTutor View

12/68 (12/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe ConnectStudent View

Settings

Student & Tutor Views

Ending a Meeting

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

Adobe ConnectEnding a Meeting

I Notes for the tutor onlyI Student: Meeting Exit Adobe Connect

I Tutor:I Recording Meeting Stop Recording 4

I Remove Participants Meeting End Meeting. . . 4

I Dialog box allows for message with default message:I The host has ended this meeting. Thank you for

attending.I Recording availability In course Web site for joining

the room, click on the eye icon in the list of recordingsunder your recording — edit description and name

I Meeting Information Meeting Manage Meeting Information

— can access a range of information in Web page.I Attendance Report see course Web site for joining

room13/68 (13/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

M269 Algorithms, data structures andcomputabilityAims

I Ideas of computational thinkingI Introduction to algorithms and data structures (using

Python)I Logic and the limits of computationI ComputabilityI Complexity

14/68 (14/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

M269 Algorithms, data structures andcomputabilityUnits

I Unit 1 Introduction — ideas of computation andintroduction to Python

I Unit 2 From problems to programs — algorithms, logicand abstract data types

I Unit 3 Sorting — how do we derive and classify sortingalgorithms ?

I Unit 4 Searching — patterns, strings; calculatingpositions: hashes; tree data structures for storing andsearching.

I Unit 5 Optimisation — graph algorithms, dynamicprogramming.

I Unit 6 Sets, logic and databases — truth tablesI Unit 7 The limits of computation — computability,

Turing machines, proofs, computational complexity15/68 (15/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

Computational ComponentsImperative, Procedural Programming

Imperative or procedural programming has statements whichcan manipulate global memory, have explicit control flowand can be organised into procedures (or functions)I Sequence of statements

stmnt ; stmnt

I Iteration to repeat statementswhile expr :

suite

for targetList in exprList :suite

I Selection choosing between statementsif expr : suiteelif expr : suiteelse : suite

16/68 (16/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

Computational ComponentsFunctional Programming

Functional programming treats computation as theevaluation of expressions and the definition of functions (inthe mathematical sense)I Function composition to combine the application of

two or more functions — like sequence but from rightto left (notation accident of history)

(f . g) x = f (g x)

I Recursion — function definition defined in terms ofcalls to itself (with smaller arguments) and base case(s)which do not call itself.

I Conditional expressions choosing between alternativesexpressions

if expr then expr else expr

17/68 (17/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationProgramming, Programming Languages

I M269 is not a programming course but . . .I The course uses Python to illustrate various algorithms

and data structuresI The final unit addresses the question:I What is an algorithm ? What is programming ? What is

a programming language ?I So it is a programming course (sort of)

18/68 (18/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationSyntax and Semantics

I Syntax and Semantics (1)

I What is each of the following — first reaction !

I 4 + 6I 4 + 6 × 3I 4I 19370721 × 761838257287I The above are expressions in arithmetic

I Most students read what is as evaluateI Not easy for the last oneI But you can say:I They are expressions which when evaluated, evaluate to

some numberI 19370721 × 761838257287I = 147573952589676412927 = 267 − 1I demonstrated in a famous meeting of the New York

AMS in October 1903 by F.N.Cole (Cole, 1903)

19/68 (19/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationSyntax and Semantics

I Syntax and Semantics (1)

I What is each of the following — first reaction !I 4 + 6

I 4 + 6 × 3I 4I 19370721 × 761838257287I The above are expressions in arithmetic

I Most students read what is as evaluateI Not easy for the last oneI But you can say:I They are expressions which when evaluated, evaluate to

some numberI 19370721 × 761838257287I = 147573952589676412927 = 267 − 1I demonstrated in a famous meeting of the New York

AMS in October 1903 by F.N.Cole (Cole, 1903)

19/68 (20/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationSyntax and Semantics

I Syntax and Semantics (1)

I What is each of the following — first reaction !I 4 + 6I 4 + 6 × 3

I 4I 19370721 × 761838257287I The above are expressions in arithmetic

I Most students read what is as evaluateI Not easy for the last oneI But you can say:I They are expressions which when evaluated, evaluate to

some numberI 19370721 × 761838257287I = 147573952589676412927 = 267 − 1I demonstrated in a famous meeting of the New York

AMS in October 1903 by F.N.Cole (Cole, 1903)

19/68 (21/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationSyntax and Semantics

I Syntax and Semantics (1)

I What is each of the following — first reaction !I 4 + 6I 4 + 6 × 3I 4

I 19370721 × 761838257287I The above are expressions in arithmetic

I Most students read what is as evaluateI Not easy for the last oneI But you can say:I They are expressions which when evaluated, evaluate to

some numberI 19370721 × 761838257287I = 147573952589676412927 = 267 − 1I demonstrated in a famous meeting of the New York

AMS in October 1903 by F.N.Cole (Cole, 1903)

19/68 (22/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationSyntax and Semantics

I Syntax and Semantics (1)

I What is each of the following — first reaction !I 4 + 6I 4 + 6 × 3I 4I 19370721 × 761838257287

I The above are expressions in arithmeticI Most students read what is as evaluateI Not easy for the last oneI But you can say:I They are expressions which when evaluated, evaluate to

some numberI 19370721 × 761838257287I = 147573952589676412927 = 267 − 1I demonstrated in a famous meeting of the New York

AMS in October 1903 by F.N.Cole (Cole, 1903)

19/68 (23/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationSyntax and Semantics

I Syntax and Semantics (1)

I What is each of the following — first reaction !I 4 + 6I 4 + 6 × 3I 4I 19370721 × 761838257287I The above are expressions in arithmetic

I Most students read what is as evaluateI Not easy for the last oneI But you can say:I They are expressions which when evaluated, evaluate to

some numberI 19370721 × 761838257287I = 147573952589676412927 = 267 − 1I demonstrated in a famous meeting of the New York

AMS in October 1903 by F.N.Cole (Cole, 1903)19/68 (24/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationCartesian Closed Comic — Equality

20/68 (25/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationSyntax and Semantics

I Syntax and Semantics (2)

I EvaluateI 6 + 4 × 3I 6 − 4 − 1I False or True (in Python)I 5 // 3 (integer division in Python)I 1 // 0 (in Python)I False or True or 1 // 0 (in Python)

21/68 (26/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

Syntax and SemanticsElementary Concepts

I An expression can be thought of as a program (and viceversa)

I A set of instructions to find a value.I Operator precedence and associativity are there to get

rid of some bracketsI (to make the code more user friendly!)I Precedence — which operator to use first. This is also

called binding power or operator fixityI Associativity — for the same operator, whether to

evaluate from left to right or right to left (or it doesn’tmatter)

I Lazy Evaluation — don’t do today what you can putoff til tomorrow, because you might never have to do it(useful in computation — not useful for doing TMAs)

22/68 (27/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

Syntax and SemanticsSharp Edges

I Sharp edgesI Evaluate (in Maths) 22 and 222 and 222

2

I In Python 2**2**2**2I Alternate in Python pow(2,pow(2,pow(2,2)))I Microsoft Excel =2^2^2^2I or use LibreOffice, Numbers, . . .

23/68 (28/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

Syntax and SemanticsSharp Edges

I Sharp edgesI Evaluate (in Maths) 22 and 222 and 222

2

I 222 = 16 and 2222

= 216 = 65536 (or 64K in computing)

I Python 2**2**2**2 == 65536I Python pow(2,pow(2,pow(2,2))) == 65536I Casio fx-85GT Plus 2^2^2^2 shows 65536I Haskell 2^2^2^2 == 65536I Microsoft Excel =2^2^2^2 == 256I Beware language semanticsI Microsoft Excel =2^2^2^2^2 == 65536I Haskell length (show (2^2^2^2^2)) == 19729

I 22222

has 19729 digitsI What is Excel doing differently ?

24/68 (29/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

Syntax and SemanticsSharp Edges

I Sharp edgesI Evaluate (in Maths) 22 and 222 and 222

2

I 222 = 16 and 2222

= 216 = 65536 (or 64K in computing)I Python 2**2**2**2 == 65536I Python pow(2,pow(2,pow(2,2))) == 65536

I Casio fx-85GT Plus 2^2^2^2 shows 65536I Haskell 2^2^2^2 == 65536I Microsoft Excel =2^2^2^2 == 256I Beware language semanticsI Microsoft Excel =2^2^2^2^2 == 65536I Haskell length (show (2^2^2^2^2)) == 19729

I 22222

has 19729 digitsI What is Excel doing differently ?

24/68 (30/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

Syntax and SemanticsSharp Edges

I Sharp edgesI Evaluate (in Maths) 22 and 222 and 222

2

I 222 = 16 and 2222

= 216 = 65536 (or 64K in computing)I Python 2**2**2**2 == 65536I Python pow(2,pow(2,pow(2,2))) == 65536I Casio fx-85GT Plus 2^2^2^2 shows 65536

I Haskell 2^2^2^2 == 65536I Microsoft Excel =2^2^2^2 == 256I Beware language semanticsI Microsoft Excel =2^2^2^2^2 == 65536I Haskell length (show (2^2^2^2^2)) == 19729

I 22222

has 19729 digitsI What is Excel doing differently ?

24/68 (31/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

Syntax and SemanticsSharp Edges

I Sharp edgesI Evaluate (in Maths) 22 and 222 and 222

2

I 222 = 16 and 2222

= 216 = 65536 (or 64K in computing)I Python 2**2**2**2 == 65536I Python pow(2,pow(2,pow(2,2))) == 65536I Casio fx-85GT Plus 2^2^2^2 shows 65536I Haskell 2^2^2^2 == 65536

I Microsoft Excel =2^2^2^2 == 256I Beware language semanticsI Microsoft Excel =2^2^2^2^2 == 65536I Haskell length (show (2^2^2^2^2)) == 19729

I 22222

has 19729 digitsI What is Excel doing differently ?

24/68 (32/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

Syntax and SemanticsSharp Edges

I Sharp edgesI Evaluate (in Maths) 22 and 222 and 222

2

I 222 = 16 and 2222

= 216 = 65536 (or 64K in computing)I Python 2**2**2**2 == 65536I Python pow(2,pow(2,pow(2,2))) == 65536I Casio fx-85GT Plus 2^2^2^2 shows 65536I Haskell 2^2^2^2 == 65536I Microsoft Excel =2^2^2^2 == 256I Beware language semantics

I Microsoft Excel =2^2^2^2^2 == 65536I Haskell length (show (2^2^2^2^2)) == 19729

I 22222

has 19729 digitsI What is Excel doing differently ?

24/68 (33/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

Syntax and SemanticsSharp Edges

I Sharp edgesI Evaluate (in Maths) 22 and 222 and 222

2

I 222 = 16 and 2222

= 216 = 65536 (or 64K in computing)I Python 2**2**2**2 == 65536I Python pow(2,pow(2,pow(2,2))) == 65536I Casio fx-85GT Plus 2^2^2^2 shows 65536I Haskell 2^2^2^2 == 65536I Microsoft Excel =2^2^2^2 == 256I Beware language semanticsI Microsoft Excel =2^2^2^2^2 == 65536I Haskell length (show (2^2^2^2^2)) == 19729

I 22222

has 19729 digitsI What is Excel doing differently ?

24/68 (34/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationProgramming Languages

I Add a tick on the slide next to languages usedI FORTRANI BASICI PascalI SASLI CI MirandaI PrologI JavaScriptI JavaI HaskellI Add names of other languages used

25/68 (35/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationProgramming Languages and Coding

I Are the following programming languages ?I ExcelI HTMLI WordI LATEXI SQL

26/68 (36/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationProgramming Languages and Coding — Excel

I ExcelI Excel has conditional expressions and indirections (so

can have loops)I An Excel Turing Machine is described in Felienne’s blogI Excel see Improving the world’s most popular functional

language: user-defined functions in Excel

27/68 (37/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationProgramming Languages and Coding — HTML

I HTMLI HyperText Markup Language is the standard markup

language for Web pages — it describes the structure ofthe content.

I It can contain CSS (for describing appearance) andI JavaScript (for describing behaviour)I HTML is not a programming languageI JavaScript is a Turing complete programming language

but embedded in a host environment.I CSS could be extended to be Turing complete — see Is

CSS Turing complete

28/68 (38/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationProgramming Languages and Coding — Word

I WordI Microsoft Word interface to text formattingI Serialised with the markup language Office Open XMLI Visual Basic for Applications is embedded and is a

programming language

29/68 (39/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationProgramming Languages and Coding — LATEX

I LATEXI LaTeX is a format of TeXI Markup technology for typesetting documents —

oriented towards mathematics and technical documents.I Is also a Turing complete programming language (Unit

7)I Used in MST125 Essential Mathematics 2 Unit 2

Mathematical typesetting

30/68 (40/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationProgramming Languages and Coding — SQL

I SQLI Structured Query Language based on relational algebra

and tuple relational calculusI Syntactic sugar for first order logic (Unit 6)I Originally not a Turing complete programming language

(Unit 7)I but extensions are Turing complete

31/68 (41/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponentsComputation,Programming,Programming Languages

Programming Languages

Python

Learning SoftwarePackages

What Next ?

ComputationProgramming Languages and Coding

I Turing completeness is not everythingI Data languages such as XML, HTML, JSONI Regular languages for regular expressions in your

favourite text editor (and some programming languages)I Pushdown automata and Context-free grammars used

in program compiling.I Total Functional Programming requires all programs to

be provably terminating.

32/68 (42/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

PythonLearning Python

I Miller & Ranum Problem Solving with Algorithms andData Structures using Python

I Python 3 DocumentationI Python TutorialI Python Language ReferenceI Python Library ReferenceI Hitchhiker’s Guide to PythonI Stackoverflow on PythonI Dive into Python 3

33/68 (43/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

PythonSetting up Python with Komodo 1

I Install ActivePython version 3.x from http://www.activestate.com/activepython/downloads

I Mac OS X Python 3 is at /usr/local/bin/python3.3which is a symbolic link to /Library/Frameworks/Python.framework/Versions/3.3/bin/python3.3

I Mac OS X idle 3 is at /usr/local/bin/idle3.3(exact versions will depend on install date)

I Windows install location %SystemDrive%\Python33and in Start menu (if Windows 7)

I Documentation at http://docs.activestate.com/activepython/3.3/

I Mac OS X may need to install correct version of Tcl/tkfor IDLE —https://www.python.org/download/mac/tcltk

34/68 (44/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

PythonSetting up Python with Komodo 2

I Install the M269 Komodo macrosI See M269 Software InstallationI Make sure the Toolbox and Command output tabs are

visible — View Tabs & SidebarsI Right-Click in Toolbox and select Add New Folder. . . to

create M269 folder in ToolboxI Select M269 folder, right-click and select Import/Export

Import Files from File System and select both files fromthe M269 macro download.

I Ensure Komodo is using Python 3I Preferences. . . Languages Category Python 3 and select

your Python 3I In the Toolbox right-click Run Python File and select

Properties

35/68 (45/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Learning KomodoKomodo Preferences: Languages Python 3

36/68 (46/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Learning KomodoKomodo Run Command Context Menu

37/68 (47/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Learning KomodoKomodo Run Python File Properties

38/68 (48/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Learning KomodoKomodo File Tab Context Menu

39/68 (49/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Learning KomodoKomodo File Properties and Settings

40/68 (50/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Komodo and PythonIndentation and Tabs — Questions

I How do you set spaces per indent to 2 or 4 ?I How do you make the Tab key issue spaces ?I Why is the Tab character evil ?

41/68 (51/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Komodo and PythonIndentation and Tabs — Answers

I How do you set spaces per indent to 2 or 4 ?

Preferences. . . Editor Global Indentation Settings (default 8)

I How do you make the Tab key issue spaces ?

Preferences. . . Editor Global Indentation Settings and uncheckPrefer Tab characters over spaces

I Why is the Tab character evil ?

See Tabs vs Spaces, Tab keyI See Python Enhancement Proposals (PEP 8) — Style

Guide for Python CodeI Mixing tabs and spaces can lead to inconsistent layout

when copying from one editor to another or MS WordI Tab character is Unicode U+0009 or ^I or HT or \t see

C0 and C1 control codes

42/68 (52/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Komodo and PythonIndentation and Tabs — Answers

I How do you set spaces per indent to 2 or 4 ?Preferences. . . Editor Global Indentation Settings (default 8)

I How do you make the Tab key issue spaces ?

Preferences. . . Editor Global Indentation Settings and uncheckPrefer Tab characters over spaces

I Why is the Tab character evil ?

See Tabs vs Spaces, Tab keyI See Python Enhancement Proposals (PEP 8) — Style

Guide for Python CodeI Mixing tabs and spaces can lead to inconsistent layout

when copying from one editor to another or MS WordI Tab character is Unicode U+0009 or ^I or HT or \t see

C0 and C1 control codes

42/68 (53/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Komodo and PythonIndentation and Tabs — Answers

I How do you set spaces per indent to 2 or 4 ?Preferences. . . Editor Global Indentation Settings (default 8)

I How do you make the Tab key issue spaces ?Preferences. . . Editor Global Indentation Settings and uncheckPrefer Tab characters over spaces

I Why is the Tab character evil ?

See Tabs vs Spaces, Tab keyI See Python Enhancement Proposals (PEP 8) — Style

Guide for Python CodeI Mixing tabs and spaces can lead to inconsistent layout

when copying from one editor to another or MS WordI Tab character is Unicode U+0009 or ^I or HT or \t see

C0 and C1 control codes

42/68 (54/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Komodo and PythonIndentation and Tabs — Answers

I How do you set spaces per indent to 2 or 4 ?Preferences. . . Editor Global Indentation Settings (default 8)

I How do you make the Tab key issue spaces ?Preferences. . . Editor Global Indentation Settings and uncheckPrefer Tab characters over spaces

I Why is the Tab character evil ?See Tabs vs Spaces, Tab key

I See Python Enhancement Proposals (PEP 8) — StyleGuide for Python Code

I Mixing tabs and spaces can lead to inconsistent layoutwhen copying from one editor to another or MS Word

I Tab character is Unicode U+0009 or ^I or HT or \t seeC0 and C1 control codes

42/68 (55/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Learning KomodoKomodo Preferences: Editor Indentation

43/68 (56/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Basic PythonPython Usage — Questions

I How do you enter an interactive Python shell ?I How do you exit Python in Terminal (Mac) or

Command prompt (Windows) ?I How do you get help in a shell ?I How do you exit the interactive help utility ?

44/68 (57/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Basic PythonPython Usage — Answers

I How do you enter an interactive Python shell ?

Windows PythonWin Shell from Toolbox; Mac python3 inTerminal

I How do you exit Python in Terminal (Mac) orCommand prompt (Windows) ?

quit()

I How do you get help in a shell ?

help()

I How do you exit the interactive help utility ?

quit

45/68 (58/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Basic PythonPython Usage — Answers

I How do you enter an interactive Python shell ?Windows PythonWin Shell from Toolbox; Mac python3 inTerminal

I How do you exit Python in Terminal (Mac) orCommand prompt (Windows) ?

quit()

I How do you get help in a shell ?

help()

I How do you exit the interactive help utility ?

quit

45/68 (59/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Basic PythonPython Usage — Answers

I How do you enter an interactive Python shell ?Windows PythonWin Shell from Toolbox; Mac python3 inTerminal

I How do you exit Python in Terminal (Mac) orCommand prompt (Windows) ?quit()

I How do you get help in a shell ?

help()

I How do you exit the interactive help utility ?

quit

45/68 (60/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Basic PythonPython Usage — Answers

I How do you enter an interactive Python shell ?Windows PythonWin Shell from Toolbox; Mac python3 inTerminal

I How do you exit Python in Terminal (Mac) orCommand prompt (Windows) ?quit()

I How do you get help in a shell ?help()

I How do you exit the interactive help utility ?

quit

45/68 (61/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Basic PythonPython Usage — Answers

I How do you enter an interactive Python shell ?Windows PythonWin Shell from Toolbox; Mac python3 inTerminal

I How do you exit Python in Terminal (Mac) orCommand prompt (Windows) ?quit()

I How do you get help in a shell ?help()

I How do you exit the interactive help utility ?quit

45/68 (62/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Basic PythonSequences Indexing, Slices

I xs[i:j:k] is defined to be the sequence of items fromindex i to (j-1) with step k.

I If k is omitted or None, it is treated as 1.I If i or j are negative then they are relative to the end.I If i is omitted or None use 0.I If j is omitted or None use len(xs)

46/68 (63/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Basic PythonPython Quiz — Lists

Given the following definitionsxs = [10.9 ,25 ,"Phil" ,3.14 ,42 ,1985]ys = [[5]] * 3

Evaluatexs [1]xs [0]xs [5]ysxs [1:3]xs [::2]xs [1: -1]xs [ -3]xs [:]ys [0] .append (4)

47/68 (64/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Basic PythonPython Quiz — Lists — Answers

Given the following definitionsxs = [10.9 ,25 ,"Phil" ,3.14 ,42 ,1985]ys = [[5]] * 3

Evaluatexs [1] == 25xs [0] == 10 .9xs [5] == 1985ys == [[5] ,[5] ,[5]]xs [1:3] == [25 , ’Phil ’]xs [::2] == [10.9 , ’Phil ’, 42]xs [1: -1] == [25 , ’Phil ’, 3.14 , 42]xs [ -3] == 3.14xs [:] == [10.9 , 25, ’Phil ’, 3.14 , 42, 1985]ys [0] .append (4) == [[5 , 4], [5, 4], [5, 4]]

48/68 (65/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Python WorkflowsKomodo Python Workflow

1. Create someProgram.py with assignment statementsdefining variables and other data along with functiondefinitions.

2. There may be auxiliary files with other definitions (forexample, Python Activity 2.2 has Stack.py with theStack class definition) — this uses the importstatement in someProgram.py

from someOtherDefinitions import someIdentifier

3. Load someProgram.py into Komodo Edit and use theRun Python File macro from the Toolbox

4. For further results, edit the file in Komodo Edit and anduse the Save and Run macro from the Toolbox

49/68 (66/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Python WorkflowsStandalone Python Workflow

1. Create someDefinitions.py with assignmentstatements defining variables and function definitions.

2. In Terminal (Mac) or Command Prompt (Windows),navigate to someDefinitions.py and invoke thePython 3 interpreter

3. Load someDefinitions.py into the Python 3 with thecommand

import someDefinitions as sdf

The as sdf gives a shorter qualifier for the namespace— names in the file are now sdf.xNote that the commands are executed — any printstatement will execute, for example

4. At the Python 3 interpreter prompt, evaluateexpressions (remember that they may have side effectsand alter the current definitions)

50/68 (67/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

PythonLearning Python

Setting up Python withKomodo

Basic Python

Python Workflows

Learning SoftwarePackages

What Next ?

Python WorkflowsStandalone Python Workflow 2

1. For further results, edit the file in Your Favourite Editorand use one of the following commands:reload (sdf)

import impimp.reload (sdf)

Note the use of the name sdf as opposed to theoriginal name.Read the following references about the dangers ofreloading as compared to re-cycling Python 3I http://stackoverflow.com/questions/684171/

how-to-re-import-an-updated-package-while-in-python-interpreterI http://pyunit.sourceforge.net/notes/

reloading.htmlI http://stackoverflow.com/questions/12400467/

how-to-import-and-reimport-file-when-it-needed

51/68 (68/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning Software PackagesKey questions

1. Where is the package source ?2. What version are you using ?3. What documentation is available ?4. What are the names for the parts of the interface ?5. How do you leave the package ? How do you enter the

package ?6. Is there any on-line help and, if so, how is it used ?7. Are there any initialisation files, configuration or

preferences and how are they used ?8. How do you import and export data from the package ?9. When all else fails, how can you obtain advice ?

52/68 (69/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Installing Komodo & PythonM269 Notes

I See M269 Software Installation Guide under StudyResources

I MS Windows has PythonWin ShellI Mac OS X uses idle3.3 from Terminal —

/usr/local/bin/python3.3 and/usr/local/bin/idle3.3 are symbolic links to/Library/Frameworks/Python.framework/Versions/3.3/bin/

I Mac OS X idle3.3 may require new version of Tcl/tkfrom http://www.activestate.com/activetcl/downloads —see https://www.python.org/download/mac/tcltkfor version required.

53/68 (70/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Exercise

1. Where do you get Komodo Edit Help ?2. Where does Help describe the Komodo interface ?3. How do you globally and permanently disable the

Minimap ?4. How do you show whitespace and EOL characters ?

And why would you want to ?5. How do you show line numbers ?6. How do you get syntax colouring ?7. How does Komodo detect what language a file has ?8. How do you comment out a block of code ?9. How do you set user environment variables ? (and why

would you ?)10. How do you export code with syntax highlighting into

MS Word ?54/68 (71/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoFurther Key Questions

11. How do you stop a runaway program ?

55/68 (72/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKomodo Interface

56/68 (73/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 1

1. Where do you get Komodo Edit Help ?

Help Help

2. Where does Help describe the Komodo interface ?

Komodo Edit Help Contents Welcome to KomodoThe Komodo Workspace

3. How do you globally and permanently disable theMinimap ?

Preferences Category Editor Scrollinguncheck Use the Minimap Scrollbar

57/68 (74/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 1

1. Where do you get Komodo Edit Help ?Help Help

2. Where does Help describe the Komodo interface ?

Komodo Edit Help Contents Welcome to KomodoThe Komodo Workspace

3. How do you globally and permanently disable theMinimap ?

Preferences Category Editor Scrollinguncheck Use the Minimap Scrollbar

57/68 (75/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 1

1. Where do you get Komodo Edit Help ?Help Help

2. Where does Help describe the Komodo interface ?Komodo Edit Help Contents Welcome to KomodoThe Komodo Workspace

3. How do you globally and permanently disable theMinimap ?

Preferences Category Editor Scrollinguncheck Use the Minimap Scrollbar

57/68 (76/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 1

1. Where do you get Komodo Edit Help ?Help Help

2. Where does Help describe the Komodo interface ?Komodo Edit Help Contents Welcome to KomodoThe Komodo Workspace

3. How do you globally and permanently disable theMinimap ?Preferences Category Editor Scrollinguncheck Use the Minimap Scrollbar

57/68 (77/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 2

4. How do you show whitespace and EOL characters ?And why would you want to ?

Preferences Category Editor Generalcheck Show whitespace characters

5. How do you show line numbers ?

Preferences Category Editor Generalcheck Show line numbers

58/68 (78/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 2

4. How do you show whitespace and EOL characters ?And why would you want to ?Preferences Category Editor Generalcheck Show whitespace characters

5. How do you show line numbers ?

Preferences Category Editor Generalcheck Show line numbers

58/68 (79/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 2

4. How do you show whitespace and EOL characters ?And why would you want to ?Preferences Category Editor Generalcheck Show whitespace characters

5. How do you show line numbers ?Preferences Category Editor Generalcheck Show line numbers

58/68 (80/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKomodo Preferences: Editor

59/68 (81/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 3

6. How do you get syntax colouring ?

Global: Preferences Category Fonts and ColorsLanguage Specific tab

File: File tab context menuFile Properties and Setting dialogue File PreferencesAdvanced Document-Specific Performance Settingscheck Enable Syntax Coloring

7. How does Komodo detect what language a file has ?

Preferences File Associations View and Edit AssociationsFor shebang line seehttp://en.wikipedia.org/wiki/Shebang_(Unix)

I Note that Komodo can have global or per file settings

60/68 (82/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 3

6. How do you get syntax colouring ?Global: Preferences Category Fonts and ColorsLanguage Specific tab

File: File tab context menuFile Properties and Setting dialogue File PreferencesAdvanced Document-Specific Performance Settingscheck Enable Syntax Coloring

7. How does Komodo detect what language a file has ?

Preferences File Associations View and Edit AssociationsFor shebang line seehttp://en.wikipedia.org/wiki/Shebang_(Unix)

I Note that Komodo can have global or per file settings

60/68 (83/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 3

6. How do you get syntax colouring ?Global: Preferences Category Fonts and ColorsLanguage Specific tab

File: File tab context menuFile Properties and Setting dialogue File PreferencesAdvanced Document-Specific Performance Settingscheck Enable Syntax Coloring

7. How does Komodo detect what language a file has ?Preferences File Associations View and Edit AssociationsFor shebang line seehttp://en.wikipedia.org/wiki/Shebang_(Unix)

I Note that Komodo can have global or per file settings

60/68 (84/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 4

8. How do you comment out a block of code ?

Code Comment Region (^3)

Code Un-comment Region (^2)

61/68 (85/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 4

8. How do you comment out a block of code ?Code Comment Region (^3)

Code Un-comment Region (^2)

61/68 (86/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 5

9. How do you set user environment variables ? (and whywould you ?)

Preferences Environment

62/68 (87/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 5

9. How do you set user environment variables ? (and whywould you ?)Preferences Environment

62/68 (88/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 6

10. How do you export code with syntax highlighting intoMS Word ?

Use an editor such as Sublime Text that has Copy asRTF

63/68 (89/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoKey Questions — Answers 6

10. How do you export code with syntax highlighting intoMS Word ?Use an editor such as Sublime Text that has Copy asRTF

63/68 (90/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoFurther Key Questions

11. How do you stop a runaway program ?

Bottom pane Command Output tabTerminate Process button

Terminate Process button looks like a grey square but itsposition will vary according to the version of Komodo

64/68 (91/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackagesInstalling Komodo &Python

Learning Komodo

What Next ?

Learning KomodoFurther Key Questions

11. How do you stop a runaway program ?Bottom pane Command Output tabTerminate Process button

Terminate Process button looks like a grey square but itsposition will vary according to the version of Komodo

64/68 (92/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

What Next ?Programming, Debugging, Psychology

Although programming techniques have improved immenselysince the early days, the process of finding and correctingerrors in programming — known graphically if inelegantly asdebugging — still remains a most difficult, confused andunsatisfactory operation. The chief impact of this state ofaffairs is psychological. Although we are happy to paylip-service to the adage that to err is human, most of us liketo make a small private reservation about our ownperformance on special occasions when we really try. It issomewhat deflating to be shown publicly and incontrovertiblyby a machine that even when we do try, we in fact make justas many mistakes as other people. If your pride cannotrecover from this blow, you will never make a programmer.Christopher Strachey, Scientific American 1966 vol 215 (3) Septemberpp112–124

65/68 (93/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

What Next ?To err is human ?

I To err is human, to really foul things up requires acomputer.

I Attributed to Paul R. Ehrlich in 101 GreatProgramming Quotes

I Attributed to Bill Vaughn in Quote InvestigatorI Derived from Alexander Pope (1711, An Essay on

Criticism)I To Err is Humane; to Forgive, DivineI This also contains

A little learning is a dangerous thing;Drink deep, or taste not the Pierian Spring

I In programming, this means you have to read thefabulous manual (RTFM)

66/68 (94/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

What Next ?Overview B and Unit 2

I Basic PythonI Python WorkflowsI Example Algorithm DesignI Writing Programs & Thinking — The StepsI Unit 2 From Problems to ProgramsI Some logicI Preconditions, postconditionsI Abstract Data TypesI F2F Crawley College (SD) 10:30 Saturday 3 November

2018I F2F LSE Aldwych (PM) 10:00 Saturday 1 December

2018

67/68 (95/96)

M269 Overview

Phil Molyneux

M269 Overview BTutorial Agenda

Adobe Connect

M269 Overview

BasicComputationalComponents

Python

Learning SoftwarePackages

What Next ?

M269 TutorialAdobe Connect — Ending a Meeting

I Notes for the tutor onlyI Student: Meeting Exit Adobe Connect

I Tutor:I Recording Meeting Stop Recording 4

I Remove Participants Meeting End Meeting. . . 4

I Dialog box allows for message with default message:I The host has ended this meeting. Thank you for

attending.I Recording availability In course Web site for joining

the room, click on the eye icon in the list of recordingsunder your recording — edit description and name

I Meeting Information Meeting Manage Meeting Information

— can access a range of information in Web page.I Attendance Report see course Web site for joining

room68/68 (96/96)