AS Computing 2016

Get Started. It's Free
or sign up with your email address
AS Computing 2016 by Mind Map: AS Computing 2016

1. Live Programming Exam ( 6/6/16)

1.1. Fundamentals of Programming

1.1.1. Data Types Understand the concept of a data type Understand and Use : Integer Real/Foat Boolean Character String Date/Time Records Arrays Define and use User Defined Data Types based on language-defined data types

1.1.2. Programming Concepts Use , Understand and Use: assignment iteration constant declaration selection subroutine (procedure/function). Variable Declaration Definite and Indefinite iteration. Nested Selection and Nested Itteration Meaningful variable names

1.1.3. Arithmetic Operations in a programming Language addition subtraction multiplication real/float division integer division, including remainders exponentiation rounding truncation.

1.1.4. Relational Operators in a programming language equal to not equal to less than greater than less than or equal to greater than or equal to.

1.1.5. Boolean Operations in a programming language NOT AND OR XOR.

1.1.6. Know Differences and Advantages of Variables and Constants

1.1.7. String Handling length position substring concatenation character → character code character code → character string conversion operations.

1.1.8. Be familiar and use random number generation

1.1.9. Be familiar with subroutines and know advantages Know that a subroutine can call code outside of it. Use subroutines that return a value to the calling routine Be able to use local variables and explain why it is good practice

1.1.10. Know the Difference between global and local variables

1.1.11. Understand the importance and advantages of structured programming

1.2. Understand the concept of exception handling and be able to use it in Java

1.3. Fundamentals of Data Structure

1.3.1. Understand the concept of Data Structure

1.3.2. Use arrays to design solutions for problems

1.3.3. Read/Write to both binary and text files

1.4. Systematic Approach to Problem Solving

1.4.1. Analysis Understand the Importance of defining the program, understanding the requirements of the system and creating a data model

1.4.2. Design Understand that a solution must be designed and specified

1.4.3. Implementation Be aware models and algorithms need to be implement in a way that computers can understand.

1.4.4. Testing Be aware that a program must be tested for errors and test data must include normal, boundary and erroneous.

1.4.5. Know the criteria for evaluation.

1.5. Theory of Computation

1.5.1. Problem Solving Develop solutions for simple logic problems Check the aforementioned solutions

1.5.2. Following and Writing Algorithims Know what algorithim means Express solutions as pseudo code Hand-Trace algorithims Convert and Algorithm from pseudo code into high level language Articulate how a program works and argue for its efficiency and correctness

1.5.3. Abstraction Be familiar with the concept of abstractions and know the definitions Representational Abstraction removes unnecessary detail Abstraction generalization groups common characteristics to arrive at a hierarchical relationship.

1.5.4. Understand the process of information hiding

1.5.5. Understand procedural abstraction represents a computational method

1.5.6. Know that functional abstraction hides the computation method

1.5.7. Know that data abstraction hides data allowing new data objects to be constructed from previously defined data objects

1.5.8. Know Decomposition means breaking a problem down into a number of easier sub problems

1.5.9. Know that composition builds procedures to making a single more complex procedure.

1.5.10. Know that automation puts models of real world problems into action to solve real world problems.

1.6. Finite State Machines

1.6.1. Know how finite state machines wrk and how to follow and construct them.

2. Written Exam (14/6/16)

2.1. Fundamentals of Data Representation

2.1.1. Number Systems Natural Numbers Integer Numbers Rational Numbers Irrational Numbers Real Numbers Ordinal Numbers Use Natural and Real Numbers for counting and measuring

2.1.2. Number Bases Understand the concept of bases and convert between them

2.1.3. Units of Infomation Understand that base n can represent 2^n values. Know names, Symbols and powers of 2 for: kibi, Ki - 210 mebi, Mi - 220 gibi, Gi - 230 tebi, Ti - 240 Undestand the difference between bits and bytes Know names, symbols and powers of 10 for: kilo, k - 103 mega, M - 106 giga, G - 109 tera, T - 1012

2.1.4. Binary Know the Difference between unsigned and signed binary Know how to add and multiply two unsigned binary integers Know how to use two's compliment Know how to use binary numbers with a fractional part Use all of the above to convert between decimal and binary.

2.1.5. Information Coding System Differentiate between the character code representation and pure binary representation Describe ASCII and Unicode and explain why unicode was introduced Describe and explain the usefulness of various error checking techniques parity bits majority voting check digits.

2.1.6. Representing images, sound etc Describe how bit patterns can present data such as images and sound Understand the difference between analogue and digital data & signals Describe the principles of analogue digital conversion (both ways) Explain how bitmaps work resolution colour depth size in pixels. Be familiar with metadata and what it normall represents Explain the digital representation of sound Understand sampling resolution Know & Understand nyquists theorem Calculate sound sample bytes Understand and describe MIDI and its advantages and disadvantages Understand the concept of data compression Know why they are compressed and how they can be compressed run length encoding (RLE) dictionary-based methods. Understand the concept of encryption Be familiar with Caesar and Vernam ciphers Compare ciphers based on efficiency.

2.2. Understand the relationship between hardware and software and define the two

2.3. Fundamental of computer systems

2.3.1. Hardware and Software Explain what system software and application software is and the needs for tem Understand the need for and functions of system software operating systems (OSs) utility programs libraries translators (compiler, assembler, interpreter). Understand the role of the operating system and what it handles resource management, managing hardware to allocate processors, memories and I/O devices among competing processes

2.3.2. Classification of programming languages Know about the development of different types of programming languages Know about low-level languages machine-code assembly language. Know high level languages include imperative high level languages Understand advantages and disadvantages of high/low level languages

2.3.3. Program Translators Understand the role of: assembler compiler interpreter. Understand and know the importance of the difference between compilation and interpretatino Understand how bytecode is used Know the difference between source and object (executable) code

2.3.4. Logic Gates Know and Construct Truth Tables NOT AND OR XOR NAND NOR. Be familiar with drawing and interpreting logic gate diagrams Write Boolean expressions for logic gates Draw Logic Gates for equations

2.3.5. Boolena algebra Be familiar with identities and DeMorgans Laws to manipulate and simplify

2.4. Fundamentals of computer organisation and architure

2.4.1. Internal Hardware Understand the internal components of a computer system Understand the role of the following components and how they work together processor main memory address bus data bus control bus I/O controllers. Understand the need for communication between components Know and understand the difference between Neumann and Harvard architectures Understand addressable memory

2.4.2. Know the meaning of the stored program concept

2.4.3. The Processor Understand and explain the structure of the processor arithmetic logic unit control unit clock general-purpose registers dedicated registers, including: program counter current instruction register memory address register memory buffer register status register. Understand the fetch execute cycle Understand the concept of a proccessor instruction set Understand the difference between direct and immediate addressing Understand and apply basic machine code load add subtract store branching (conditional and unconditional) compare logical bitwise operators (AND, OR, NOT, XOR) logical shift right shift Understand the factors that affect processor performance multiple cores cache memory clock speed word length address bus width data bus width.

2.4.4. External Hardware Devices Know characteristics, purposes of some devices digital camera laser printer barcode reader RFID. Explain the need for seondary storage hard disk optical disk solid-state disk (SSD).

2.5. Consequences of Compuing

2.5.1. Understand the moral, ethical and cultural risks of computing Developments mean that people have the capacity to monitor behaviour amass and analyse personal information distribute, publish, communicate and disseminate personal information Some feel this gives computer scientists too much power Understand the issue with software and algorithims setting cultural attitudes and values Understand the worldwide issue of scale

2.6. Fundamentals of Networking

2.6.1. Communication Define Serial and Parallel transmission and know advantages/disadvantages Define synchronous and synchronous transmission Know the purpose of start and stop bits Define baud rate bit rate bandwidth latency protocol. Know the relationship between bit rate and bandwidth

2.6.2. Networking Understand different topologies and compare them Physical Star and logical bus Know the difference and situations for Peer to Peer and Client-Server Networking Know the purpose of Wifi Understand the components required for wireless networking Understand wireless network security Explain the CSMA/CA and RTS/CTS Protocls Be familiar with the purpose of SSID