- http://creately.com/blog/diagrams/class-diagram-relationships/ focus on association, composition/aggregation (depends on your IA), multiplicity and inheritance. http://www.infoworld.com/article/3029325/application-development/exploring-association-aggregation-and-composition-in-oop.html (link title explains itself)
Tuesday, 6 June 2017
Please read these two resources to have a better understanding of class relationships
These are my favourite explanations (so far) regarding the principles of OOP: Abstraction, Encapsulation, Inheritance and Polymorphism. They are most important to understand and remember, so study and practice them well. The links have page names (at the end of the link) that are self-explanatory.
- dependency (“uses”) -- [ some sources may call it composition ]
- aggregation (“has a”) and
- inheritance (“is a”).
Tuesday, 25 April 2017
Fetch-Decode-Execute CycleLinks with information about the FDE cycle, from simple & concise to deeper and more detailed:
- GCSE Bytesize (Instructions)
- The Fetch–Execute cycle and the role of registers within it (A level Computing WikiBook)
- Also known as the Instruction cycle (Wikipedia article)
I have also made my own, simplified version for study and revision purposes:
Monday, 24 April 2017
Animations and videos of sorting and searching algorithms:The following links point to videos and video channels showing animations of different sorting algorithms. More than one video is provided so that you may pick the one you understand best. You could also build your understanding from a few sources as well.
- https://visualgo.net/en/sorting - excellent interactive animated sorting algorithms out there
- http://www.sorting-algorithms.com - sorting algorithm animations, discussed
- http://xoax.net/comp_sci/crs/algorithms/ - concise and well illustrated videos about different algorithms.
- http://www.cs.armstrong.edu/liang/animation/ - animations on algorithms, plus data structures and other topics.
- https://www.youtube.com/user/AlgoRythmics/videos - algorithms illustrated with European traditional folk dances
- https://youtu.be/wNVCJj642n4 (Both)
- https://youtu.be/vZWfKBdSgXI (Linear search only)
- https://youtu.be/CX2CYIJLwfg (Linear search only)
- https://youtu.be/5xlIPT1FRcA (Binary search only)
- https://youtu.be/D5SrAga1pno (Binary search only)
Sunday, 23 April 2017
Resources about various algorithms - Higher Level:
- http://www.algolist.net/Algorithms/ - various algorithms (sort, binary search) and programming concepts (recursion) explained
- From this link, be sure to revise the sequential and binary searches, plus the chapters on sorting algorithms and recursion (code examples are on Python, which means it's close to pseudocode, but you can run it if you have the Python 3 interpreter)
- http://introcs.cs.princeton.edu/java/40algorithms/ - an excellent chapter on Algorithms and Data Structures; there was a performance question in a recent past paper, so it may be a good idea to read 4.1 (performance) as well. Don't obsess over Tilde notation and skip memory usage as well. Our focus is to be aware of how some algorithms are more efficient than others (as you can see by their classification into their order of growth: constant, logarithmic, linear, quadratic, cubic, exponential, etc.)
Resources about Abstract Data Types:
- http://visualgo.net/en/list.html - animated ADTs (linked list implementations)
- Chapter on Linked Lists, from the same site as #2 in the previous list of links ;-)
- http://www.algolist.net/Data_structures/ - well explained and clear diagrams
This brief post shows how to create a bi-dimentional array and describe it using IB pseudocode. It isn't stated in the IB Pseudocode in Examinations or Approved notation for developing pseudocode documents, so it's my answer to it, not an official one. Don't sue me if your examiner disagrees with me!
Usually IB papers will have defined it for you, or they may not ask you at all to define the size. You could define it (unknown size) asdefine A as array of size [ROWS][COLUMNS] or define A as array of size (ROWS, COLUMNS) define A as array of size  define A as array of size (5, 6)
...then you'd use it likedefine A as array of size [ ][ ]
I'd recommend going for the [ ][ ] style as it'd be more consistent with the single dimensional arrays described in the IB pseudocode documents mentioned above.loop ROW from 0 to 5 loop COL from 0 to 6 output A[ROW][COL] or output A(ROW, COL) end loop end loop
Just a short post with pretty much all you need to know about arrays in Java:
- http://javabeginnerstutorial.com/core-java-tutorial/java-array-tutorial/ to start with
- http://www.homeandlearn.co.uk/java/java_arrays.html excellent site, from start to end; includes 2D arrays and much more
- http://introcs.cs.princeton.edu/java/14array/ great resource with many examples, but more complex
- Also, it is highly recommended to study Big Java Late Objects (Horstmann, 2013) - chapter 6: Arrays and Array Lists
Please read these two resources to have a better understanding of class relationships http://creately.com/blog/diagrams/class-diagram-rela...
The complete list is documented at http://bugs.python.org/issue7107 . The following steps are done inside a terminal session and assume you ...
Lenovo Ideapad S10-3 If you have a Lenovo Ideapad S10-3 (depicted above), and you want to test or install shiny new Ubuntu 10.10 on it,...
Well, this is a technical one. If you're running Windows, you'll notice that defragmentation can sometimes become a pain because of ...