View
215
Download
0
Category
Tags:
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