Computing Science for non-continuing students Dr Helen Purchase School of Computing Science...

Preview:

Citation preview

Computing Science for non-continuing students

Dr Helen PurchaseSchool of Computing Science

University of Glasgow

helen.purchase@glasgow.ac.uk

Motivation

• Introductory courses for students who:– have a general interest in Computing Science– do not wish to study Computing Science further– do not (necessarily) have any programming

experience– do not (think they) want to learn how to program– are studying any other degree programme

• Everyone can benefit from knowing about:– algorithmic and computational thinking– how computational processes are evident in the

world around us

Degree structure

Two courses

“Principles and Practise of Computing Science”

“Programming Digital Media”

What makes these courses different?

• Not a typical ‘preparatory’ course to prepare students for advanced concepts in later years– programming (CS1P)– fundamental concepts (relations, sets,

interaction design, circuits and registers etc.) (CS1Q)

• Broad, introductory focus– unexpected consequence: more advanced

concepts can be taught early

PPCS: Freedom from constraints

• No requirement to focus on low-level programming and technical skills

• Topics described at a higher level of detail – still understandable – releases students from concerns of programming

syntax and compilation errors

• Covers – diverse topics: databases, logic and operating

systems– advanced topics: concurrency, cryptography and

artificial intelligence

Principles

• Algorithms: simple constructs, procedures, functions,

parameters, recursion

• Data structures: simple variables, arrays, graphs

• Boolean logic: simple statements, truth tables and circuits;

simple transformations

• Theory: complexity, intractability

Practise

• Artificial intelligence: robots, game trees and learning

• Human computer interaction: usability concepts and guidelines

• Databases: relational structures and representations, simple

normalisation

• Systems: concurrency, operating systems

• Security: cryptography, malware, safety-critical systems

Historical context

DenningAristotlede MorganBooleShannonBabbageLovelaceKindall

Mohammed al-Khwarizmi

TuringSearleDijkstraDiffie-Hellman-MerkleMandelbrotDeep Blue

Lab work

• Raptor (flow charting)• Nifty assignments (http://nifty.stanford.edu/)– Picobot– Black box sorting and testing

• Fractal software• Game tree visualisation• Critiques: interfaces, databases• Essay on chosen current topic

Challenges

• Breadth (and intensity) of topics

• Pace• Mathematics• Engagement• Lab work• Class size• Textbook

2n

PDM: A back-door to Python

• Manipulation of digital media• Basic control and data structures:–manipulate images by changing pixels– create sounds by iterating over samples– render lists of numbers into music– create artefacts like collages, music, and

digital video special effects

• Show how computational primitives can manipulate media

What next…

• For the students:– high performers who have been

persuaded to continue with Computing Science can do our level 2 ‘Fast Track’ programme

• For us:– refinement

• fewer topics in more depth• more appropriate lab exercises

– publicity

Personal reflections

• Pace • Breadth: – no ‘building on’ topics– new topics

• Interesting historical context• Fun exercises• Guest lectures

helen.purchase@glasgow.ac.uk

Recommended