Category: Advanced Higher
AH – Binary Search
Binary search is a more efficient way of searching a sorted list.
The Python function given gives you an example of how this might be implemented. It either returns the found position or -1 meaning that the value has not been found.
There are other implementations available that make use of different constructs including recursion.
AH – Useful algorithms
I thought this was a good article for AH. It names 7 algorithms that professional programmers should be familiar with but doesn’t go into a lot of detail. That leaves a lot of scope for you to investigate these techniques.
AH – Cheat sheets for a range of applications
I found these cheat sheets on this site and here. A cheat sheet is a condensed (normally 2 A4 sides) set of notes for an aplication or programming language. They are not designed to be notes in themselves, they are more an aide-mémoire to help you recall how to do something.
There are a lot of languages here but I thought it was worth keeping the list intact. There is a lot in here that is in the course so make sure that you read the entire list.
Command Line
- Windows NT/XP Command Line Reference
- BASH Command Line Reference
- DOS Commands
- Git Command line Cheatsheets
- Linux Command Line Reference
Databases
- MySQL Reference List
- Oracle Cheat Sheet
- Oracle 9i Command Reference
- PostgreSQL Cheat Sheet
- SQL Server 2005 Commands
Programming
- Ada Syntax Card (PDF)
- C++ Language Summary
- Delphi Technical Reference Card (PDF)
- Java Syntax Cheat Sheet
- Our Favorite Cheat Sheets – whatis.techtarget.com
- Java Reference for C++
- JSP 2.0 Syntax Reference Sheet (PDF)
- LaTEX Reference Card (PDF)
- PERL Cheat Sheet
- PERL Reference Guide
- PHP Developer Cheat Sheet
- Python Cheat Sheet
- Ruby Reference
Unix/Linux
Web Development
- CSS Shorthand Guide
- Drupal 4.7 Cheat Sheet
- HTML Cheat Sheet
- JQuery Cheat Sheet (PDF)
- JQuery Reference (PDF)
- Scriptaculous Combination Effects Field Guide (PDF)
- XHTML Reference
- XHTML & HTML Cheat Sheet
- XML Syntax Quick Reference (PDF)
- XML Schema Reference (PDF)
- XSLT and XPath Quick Reference (PDF)
Miscellaneous Topics
- Ascii Codes Cheat Sheet
- CVS Cheat Sheet
- Theoretical Computer Science Cheat Sheet (PDF)
- UML Quick Reference Card (PDF)
- UML Cheat Sheet
- Vi Cheat Sheet
- Linux Commands
- Awesome Git Cheatsheet
- Learn X in Y minutes
- Programming Cheat Sheets – cheatography.com
- Best Programming Cheat Sheets
- VIM Cheat Sheet – vim.rtorr.com
-
OverAPI.com – Collecting All Cheat Sheets
AH – Scholar Homework Session
The next Advanced Higher Computing Science homework session from Scholar will be on Wednesday 28th September. The topic is “The Object Oriented Programming Paradigm”.
The session starts at 6.30pm.
AH – Objects and Classes
https://www.youtube.com/watch?v=CtzVNCmysFs
Object-oriented programming (OOP) was discussed in Higher but we didn’t spend a lot of time on it. It is the first “difficult” topic to get your head round in AH. The video above gives a quick introduction to OOP in Python. Python is a OOP language, a topic we don’t dwell on before advanced higher but it was one of the reasons we picked Python for use in the school.
The Scholar notes use Standard Reference Language in their examples, it would be very good practice if you were to code them in Python.
If you are still having problems with Methods, Classes and Objects then you might want a look at the next couple of lessons from Learn Python the Hard Way.
AH – LAMP Server Configuration
So the mini notebooks only have windows XP on them, this OS is no longer supported by Microsoft so the first order of business for you is to install a new secure OS. I chose to install Linux Mint on my machine.
The project will more than likely require a web and database server and server side scripting language. I chose to configure the laptop as a LAMP server, a quick web search brought up this site.
You can update your HTML, CSS, MySQL, and PHP skills using codecademy or W3Schools.
Advanced Higher – Project Ideas
Suitable projects could include, but are not limited to, the following: Designing and developing a:
- program/information system that processes, stores and allows updating of sporting or other results
- 2–dimensional game with ability to pause and store state of the game and restart, such as Connect 4, Battleships, Minesweeper, Noughts & Crosses, Chess, Draughts, Sudoku, etc
- small social media website, that allows registered users to blog and share information
- database-driven website, that allows users to search content and display, edit and update it appropriately
- multi-player card game such as ‘Top Trumps’ or a card-matching game
- question-based quiz, that randomises questions, processes and stores results, for example ‘Who wants to be a Millionaire’, ‘Mastermind’, ‘Pointless’
- simulation of the operation of a queue, a stack or a sort algorithm, or other similar computing science concept/process
- interactive computer assisted learning tool that gathers and stores information
- or any other projects offering similar challenge and complexity to the candidate