Archive

Archive for the ‘Computer Science 2014’ Category

Final IB exam times

April 8, 2014 Leave a comment

Standard Level

  • Paper 1 Friday 16th May PM (1h 30)
  • Paper 2 Monday 19th May AM (1h)

Higher Level

  • Paper 1 Friday 16th May PM (2h 10)
  • Paper 2 Monday 19th May AM (1h 20)
  • Paper 3 Monday 19th May PM (1h)

Types of chart you need for the exam and a note on 2-D arrays for SL (??)

April 7, 2014 Leave a comment

I wrote a post on the OCC Computer Science highlighting the discrepancy between the Guide and the specimen paper:

Syllabus point 4.2.4 Teacher’s Note:

“Students will not be expected to construct a flow chart to represent an algorithm in an externally assessed component.”

Specimen SL Paper 1, Question 7:

When the wages for company employees are calculated, all hours above 38 are paid at the overtime rate of 1.5 times the base rate. Construct a flowchart that represents this algorithm.

The reply eventually came back from the IB:

Question 7 in the standard level paper 1 Computer Science specimen paper was included in error as it contradicts the teacher’s note, 4.2.4, in the syllabus.  As per this note, students will not be expected to construct flow charts to represent algorithms in externally assessed components. The IB apologises for the inconsistency in the specimen paper; this will be revised at the earliest opportunity.  It should be noted that students may be asked to draw flow charts when being tested on 1.2.7 in the syllabus.

I also asked about syllabus point 1.2.7.:

Drawing system flowcharts was on the old syllabus, but I notice here there is a reference to DFDs. As I remember from college, a DFD is a very specific thing and drawing one requires quite a lot of expertise. To what extent can students be expected to construct a data flow diagrams in the exam? Does anyone actually teach DFDs in any depth?

The reply came from Dave Mulkey and is worth reading:

Item 1.2.7 specifically says “system flow charts, data flow diagrams, structure chart… UML is not required.”  Lacking specific examples, I am assuming that “system flow chart” has arrows and/or lines connecting modules, “data flow diagram” has arrows connecting modules plus data flow labelled on the arrows, “structure chart” is a top-down hierarchical breakdown of a problem.  The statement “UML is not required” indicates to me that the others are just generic concepts without any specific requirements.  So I don’t think students need to worry greatly about just exactly what is required for a DFD (except that DATA FLOW should be included).  But they SHOULD know that these are NOT algorithmic (programming) flowcharts.  If 1.2 is supposed to be taught in 10 hours altogether, this single assessment statement can’t require more than about an hour to teach, and at most an hour of practice by the students. 

He then points out another problem with the specimen paper and the Guide:

Standard Level Specimen Paper 1 #10 d – asks the students to describe how a two-dimensional array could be used.  However, it is clear to me that only LINEAR arrays are required for SL students, and the 2-D arrays are specifically added for HL students.  So this question is inappropriate for SL students. Be that as it may, I will now teach 2-D arrays to my SL students – briefly – just in case a similar question appears in a real exam.

 

Pass/fail conditions for the IB diploma

April 7, 2014 Leave a comment

The IB diploma will be awarded to a candidate whose total score is 24, 25, 26 or 27 points, provided all the following requirements have been met.
a. Numeric grades have been awarded in all six subjects registered for the IB diploma.Pass
b. All CAS requirements have been met.
c. At least a grade D has been awarded for both TOK and the extended essay.
d. There is no grade 1 in any subject.
e. There is no grade 2 at higher level.
f. There is no more than one grade 2 at standard level.
g. Overall, there are no more than three grades 3 or below.
h. At least 12 points have been gained in higher level subjects (candidates who register for four higher level subjects must gain at least 16 points at higher level).
i. At least 9 points have been gained on standard level subjects (candidates who register for two standard level subjects must gain at least 6 points at standard level).
j. The candidate has not been found guilty of malpractice by the IB Organization.

The IB diploma will be awarded to a candidate whose total score is 28 points or above, provided all the following requirements have been met.
a. Numeric grades have been awarded in all six subjects registered for the IB diploma.
b. All CAS requirements have been met.
c. Grades A (highest) to E (lowest) have been awarded for both TOK and an extended essay, with a grade of at least D in one of them.
d. There is no grade 1 in any subject.
e. There is no more than one grade 2 at higher level.
f. There are no more than three grades 2 at standard level.
g. Overall, there are no more than three grades 3 or below.
h. At least 11 points have been gained on higher level subjects (candidates who register for four higher level subjects must gain at least 14 points at higher level).
i. At least 8 points have been gained on standard level subjects (candidates who register for two standard level subjects must gain at least 5 points at standard level).
j. The candidate has not been found guilty of malpractice by the IB Organization.

Topic 1 notes

March 14, 2014 Leave a comment

Important points:

  • 95% of this topic is common sense. I urge you not to rote learn this — just get a feel for the types of issues that crop up
  • Having said that, make sure you understand 1.2.7. There are two slides dedicated to it.
  • There are three syllabus points that mention social and ethical blah. I have provided an exhaustive list of the type of junk that you have to trot out for these questions in point 1.2.11.
  • If you have any good ideas about 1.2.15 I’d love to hear them

Microsoft_PowerPoint_Icon

Topic 1

 

Social and ethical issues (if you can stay awake…)

March 13, 2014 Leave a comment

This should be useful in answering those boring social and ethical questions that for some reason the IB insist on including in the Computer Science course…

Summary of Social and Ethical Issues

 

  • privacy of the individual – security of data and information
  • accuracy of data and information
  • changing nature of work
  • appropriate information use
  • health and safety
  • copyright laws

Social and ethical issues in collecting

  • bias in the choice of what and where to collect data
  • accuracy of the collected data
  • copyright and acknowledgment of source data when collecting
  • the rights to privacy of individuals on whom data is collected
  • ergonomic issues for participants entering large volumes of data into an information system

Social and ethical issues associated with organising

  • current trends in organising data, such as:
  • the increase in hypermedia as a result of the world wide web
  • the ability of software to access different types of data
  • a greater variety of ways to organise resulting from advances in display technology
  • the cost of poorly organised data, such as redundant data in a database used for mail-outs
  • the appropriateness of a two digit date field at a time when storage and processing was more expensive, versus the current inappropriateness

Social and ethical issues associated with analysis

  • unauthorised analysis of data
  • data incorrectly analysed
  • erosion of privacy from linking databases for analysis

Social and ethical issues associated with storing/retrieving

  • the security of stored data
  • unauthorised retrieval of data
  • advances in storage and retrieval technologies and new uses such as data matching

Social and ethical issues associated with processing

  • types of computers on networks
  • flexibility from the distributed processing of personal computers on networks
  • security from the centralised processing of network computers (terminals)
  • ownership of processed data
  • bias in the way participants in the system process data

Social and ethical issues associated with transmitting and receiving

  • accuracy of data received from the Internet
  • security of data being transferred
  • net-etiquette
  • acknowledgment of data source
  • global network issues, time zones, date fields, exchange rates
  • changing nature of work for participants, such as work from home and telecommuting
  • current developments and future trends in digital communications, radio and television
  • the impact of the Internet on traditional business

Social and ethical issues associated with displaying

  • communication skills of those presenting displays
  • past, present and emerging trends in displays
  • appropriate displays for a wide range of audiences, including:
  • standards for display for the visually impaired
  • displays suitable for young children

Social and ethical issues associated with Planning, Design and Implementation

  • machine-centred systems simplify what computers do at the expense of participants
  • human-centred systems as those that make participants’ work as effective and satisfying as possible
  • how the relationships between participants change as a result of the new system
  • ensuring the new system provides participants with a safe work environment
  • awareness of the impact the system may have on the participants:
    • opportunities to use their skills
    • meaningful work
    • need for change
    • opportunities for involvement and commitment

Social and ethical issues related to information systems and databases

  • acknowledgment of data sources
  • the freedom of information act
  • privacy principles
  • accuracy of data and the reliability of data sources
  • access to data, ownership and control of data
  • new trends in the organisation, processing, storage and retrieval of data such as data warehousing and data-mining

Social and ethical issues related to communication systems

  • the use of communication systems to share knowledge, not just data
  • issues related to messaging systems
    • ideas delivered by this means appear less forceful and caring than ideas delivered personally
    • danger of being misinterpreted
    • power relationships
    • privacy and confidentiality
    • electronic junk mail
    • information overload
  • implications of Internet trading including:
    • local taxation laws
    • employment ramifications
    • nature of business
  • trading over the Internet and its commercial implications
  • the difficulties of censoring content on the Internet
  • issues arising from Internet banking, including:
    • security of banking details
    • changing nature of work
    • branch closure and job loss
  • the removal of physical boundaries by enabling:
    • work from home
    • virtual organisations, ie organisations structured around the communication system
    • removal of national and international barriers to trade
  • how participants are supported:
    • individuals by providing a means for communication
    • participant teams by enabling the exchange of ideas and data
  • the emerging trend of accessing media such as radio and video across the Internet

Social and ethical issues related to multimedia systems

  • copyright: the acknowledgment of source data and the ease with which digital data can be modified
  • appropriate use of the Internet and the wide spread application of new developments on it such as live video data
  • the merging of radio, television, communications and the Internet with the increase and improvements in digitisation
  • the integrity of the original source data in educational and other multimedia systems

Social and ethical issues related to transaction processing systems

  • changing nature of work and the effect on participants, including:
    • the automation of jobs once performed by clerks
    • the bypassing of clerks by people in the environment performing their former roles
      (Eg collecting now done by customers using the bank’s ATM machines instead of via the bank clerk)
  • the need for non-computer procedures to deal with transactions when the computer is not available in real time systems
  • bias in data collection:
    • when establishing the system and deciding what data to collect
    • when collecting data
  • the importance of data in transaction processing, including:
    • data security
    • data accuracy
    • data integrity
  • control in transaction processing and the implications it has for participants in the system

Topic 7: Control

March 5, 2014 Leave a comment

This is not a very technical topic. I would highlight the following points:

  • You may need to produce a pseudocode algorithm or a flowchart to illustrate how a control system works.
  • You must be able to explain the need for analog-to-digital conversion and vice versa. Don’t forget to state the obvious.
  • I have a feeling something about embedded or distributed systems might come up in your exam.

Here is the presentation:

Microsoft_PowerPoint_Icon
Topic 7

Topic 6 – Resource Management

March 4, 2014 Leave a comment

Topic 6 is the HL extension to topic 2. It is not well defined though, so you will need to do some of your own research to get to grips with the concepts introduced. As far as exactly what you need to know is concerned, I just don’t know at the moment, but here is a presentation that covers the main ideas.

Microsoft_PowerPoint_Icon
Topic 6

Operator precedence in Boolean algebra

March 3, 2014 Leave a comment

The question of which boolean operators (AND, OR, NOT, XOR, etc) have precendence has recently come up on the OCC and although the IB typically won’t give an answer (!), there is a general assumption that we will do what Java does, namely:

  1. BRACKETS have highest precedence
  2. NOT
  3. AND, NAND
  4. OR, XOR, NOR
  5. Operators at the same precedence are evaluated left to right.

Test your understanding by drawing logic diagrams for the following:

  1. A AND B OR C
  2. A OR B AND C
  3. A OR B XOR C
  4. NOT A AND B NOR C

 

Last things to do for the IA

March 3, 2014 Leave a comment
  • Computational thinking table
    • Logically: If… then… else. Decision-making.
    • Procedurally: Things happening in a specific order.
    • Ahead: Planning, extensibility, array resizing, using a linked list instead of a static list, etc.
    • Abstractly: Class definitions, schematics, encapsulation.
    • Concurrently: Saving time by doing lots of things at once.
    • Recursively: Exploiting repeated patterns.
  • Video
    • Brief sentence of introduction saying in plain English what the application does
    • Creation, editing and deletion of one data item, from scratch.
    • Mention of every success criterion with a demonstration that it has been fulfilled
    • If necessary, cut to example with loads of data already added to show sorting, searching, filtering, etc
    • Mention of key data structures and algorithms
    • Mention some examples of computational thinking: Ahead, Logically, Procedurally, Abstractly, Concurrently, Recursively
    • By all means tab to a piece of code in Netbeans to showcase your programming
  • Comments in source code
    • At least one for every class and method
    • It’s also good to comment main loops
  • Extensibility
    • A small section (a few lines only) entitled Extensibility
    • Describe how you have future-proofed your application
    • Examples:
      • Using file input and output rather than “hard-coding” data
      • Defining constants using the final keyword so that they can be changed easily throughout the code
      • Using linked lists (or ArrayLists or other built-in data structures) instead of arrays
      • Designing in a modular way such that new modules can be added easily
      • Allowing the user to add or delete their own data, ie not hard-coding the database (all of you have done this)
      • Using standard data formats, like CSV, HTML, that can readily be used by other software
  • Test plan with actual input and output data in it
    • Some evidence of a testing plan is essential
    • Screenshots of validation dialogs are a very good idea (ask if unsure)
    • Normal, extreme and abnormal data if possible
    • Table format: input, expected output, actual output
  • Table showing how you have adhered to good programming and usability practice
    • Comments in code
    • Encapsulation of instance variables
    • Use of standard capitalisation in code
      • Proper case for classes
      • all caps for constants
      • camel case for variables and methods
    • User documentation
    • System documentation
    • Use of relative paths
    • Data files instead of hard-coding
    • Config files or settings

IA: Review of Computational Thinking

February 21, 2014 Leave a comment
  • Logically: If… then… else. Decision-making.
  • Procedurally: Things happening in a specific order.
  • Ahead: Planning, extensibility, array resizing, using a linked list instead of a static list, etc.
  • Abstractly: Class definitions, schematics, encapsulation.
  • Concurrently: Saving time by doing lots of things at once.
  • Recursively: Exploiting repeated patterns.
Follow

Get every new post delivered to your Inbox.