School Programmes, Syllabi & Academic Information.

COMPUTER PROGRAMMING

COMPUTER PROGRAMMING (81 hours)

Course Description

This unit elaborates on the functional relevance of programming as a core subject of computer science. Computer scientists deal mostly with software and software systems; these include their theory, design, development, and application. The most important aspect of computer science is problem solving, an essential skill for life. Computer science is the study of the foundational principles and practices of computation and computational thinking and their application to the design and development of computer systems.

On their way to becoming computer scientists who use technology to solve problems, students study the design, development and analysis of the software and hardware used to solve problems in a variety of business, scientific and social contexts; they use software to make computers do new things or accomplish tasks more efficiently, create applications for mobile devices and develop websites and program software.

Aim of the Course

Programming forms the core of Computer Science. In this course we look in detail at what actually occurs when a computer runs programs, considering how the instructions we write are translated in the electronic mechanisms of computes. We can step back and consider how we can organise the process of writing computer programs. We can look at some of the most common methods of programming applications. Finally, we can think of new things we would like computers to do for us, and try and work out how we can write programs to instruct them in how to do those things.

Learning Outcomes

  • Develop computational thinking
  • Understand the main principles of solving problems
  • Acquire problem-solving techniques
  • Practise problem-solving techniques in real problems
  • Comprehend the concept of software development
  • Know the principles of successful Code creation
  • Create advanced programs in Python language
  • Learn and practise game creation techniques

Syllabus

It consists of five modules :

  • Logic and Computer Fundamentals
  • The Concept of Software Development
  • Python Programming Language
  • Advanced Programming in Python
  • Game Creation

LOGIC AND COMPUTER FUNDAMENTALS

o        Logic operands and operators. Basic logic propositions.

o        Logic expressions.

o        Proof methods using Classical Logic.

o        Quantifiers, predicate calculus, logic representation of textual propositions.

o        Logic circuits, logic gates & applications to microelectronics

o        Computer arithmetic

o        Processor architecture

o        Processor operation – machine language

o        Advanced processor features

 

THE CONCEPT OF SOFTWARE DEVELOPMENT 

o       Concepts of computing

o       Binary System

o       Overview

o       Software

o       Development tools

o       Data, Data structures

o       Computer structure. Peripheral devices. Case studies.

o       Operating systems – Case studies.

o       Computer languages – an overview.

o       Assembly languages.

o       High level languages.

o       Compilers and Interpreters.

o       Fourth Generation Languages.

 

Python PROGRAMMING LANGUAGE

o       Overview

o       General structure of a Python program

o       Editing, compiling and running a Python program

o       Values, Variables, Expressions and Statements

o       Conditional Execution

o       Iteration and Recursion

o       Functions

o       Functions

o       Strings

o       Case study : Word Play – puzzles and quizzes

o       Lists

o       Dictionaries

o       Handling Exceptions

o       Laboratory sessions

 

ADVANCED PROGRAMMING with Python

o       Object oriented programming – Python with classes and objects

o       Polymorphism

o       Inheritance

o       Debugging

GAME CREATION

o         Learning the Stencyl Game Studio

o        Game Creation Sessions – Group projects

 

Resources and Booklist Suggestions

  1. Think Python : How to think like a Computer Scientist, Allen B. Downey, O’ Reilly  Media
  2. Learning Python: Powerful Object-Oriented Programming, Mark Lutz, O’ Reilly  Media
  3. Computing in the Information Age, Stern-Stern, 2ndedition, John Wiley & Sons, Inc.
  4. Computing Science, P. Bishop, Third ed., Nelson (Publishers).
  5. www.stencyl.com