Computing Science for non-continuing students

sunflowerplateΤεχνίτη Νοημοσύνη και Ρομποτική

21 Νοε 2013 (πριν από 3 χρόνια και 8 μήνες)

59 εμφανίσεις

Computing Science for

non
-
continuing students



Dr Helen Purchase

School 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

Denning

Aristotle

de Morgan

Boole

Shannon

Babbage

Lovelace

Kindall


Mohammed al
-
Khwarizmi

Turing

Searle

Dijkstra

Diffie
-
Hellman
-
Merkle

Mandelbrot

Deep 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



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