Categories
Data Communications

FIT9020: Week 1

Started off the subject with a two hour lecture which was mostly housekeeping. The second half of the lecture was quite interesting though with the focus on previewing the topics we would be covering this semester.

Amoung the topics to be covered:

  • Application Layer
  • Transport Layer
  • Network Layer
  • Data Link Layer
  • Physical Layer
source: Lecture 1
  1. Concepts of networking
  2. Technologies in use today
  3. Management of networking technologies

Five Layer model of internet networking

  • Physicals – Hubs, switchers, routers,cables satelites etc. [Ethernet]
  • DataLink Layer – Controls physical layer, formats transmission etc. [Ethernet]
  • Network and Transfer protocols – [TCP/IP]
  • Application Layer – [Web Browsers and web pages]

Also covered was the important of standards and the evolution of data comms/networks

Categories
Case Study

FIT4037: Week 1

Had the 1 hour seminar and 3 hour studio session last Thursday. We were assigned into groups which will be key for the remainder of the semester and for every assessable submission. I am not really sure what the rationale behind the selection of the groups was, how it can enable a merit based grading system or how it reflects real world, work place situations. I know several students who worked very hard to get high distinction averages who were placed in groups with team members that did not aim for the same level. This is a bit of a pickle as those students working towards high grades should be able to do so without encumbrance. Additionally students who are happy with Ps and Cs should not be forced into a position where they need to dedicate a much larger amount of time to the subject just to achieve someone else’s goals. In any case it is how the subject is run.

‘It will be interesting to see if we cover the technical skills required to undertake the web development project. From my perception we will not be doing much technical learning, the subject will be focused on generating reports in teams.

For meetings a document link: www.mwclearning.com/casestudy/Apollo13.TeamProjectManagement.Draft26.JUL.2010.docx

Categories
Computer Technologies and O/S Uni notes

FIT9018: Week 12

Week 12, still on hardware, look primarily at processors, memory and system performance.

Major factors in determining system performance (note software design struggles to make use of current hardware capabilities)

  • CPU processing speeds
  • Multiple thread processing
  • Multiple CPUs
  • Distributed systems
  • Wider/Faster Instruction paths (buses)
  • Faster secondary memory access
  • More/Faster memory including RAM and cache
  • Better memory/processor management (ie Virtual Memory OS)

Note that CPU clock speeds are determined by the manufacturer using non-standardized instructions. Thus box label clock speed should b ‘taken with a pinch of salt’.

More important is the instruction set architecture aka CPU architecture. At present there are two major architecture types:

  • CISC  – Intel/AMD [Complex Instruction Set Computers]
    • Small number of registers, large number of specialized instructions
  • RISC – SUN Sparc [Reduced Instruction Set Computers]
    • Large number of registers, small number of stored instructions

RISC takes heed of the fact that most programs only use about 10 of the 200 stored instructions. At present almost all processors with the exception of Intels x86 range utilized RISC architecture.

Techniques for increasing CPU performance:

  • fetch-execute operations made concurrent (can both be conducted at the same time)
  • Pipelining overlapping fetch and execute cycles
  • Parallel executions

This techniques result in scalar and super-scalar processing:

Without the above techniques 28 cycle would be required

Cache is another key technique for improving computing performance. By having a small amount of memory between the CPU and primary memory

Categories
Foundations of Programming

FIT9017: Week 11

With Week 11 being the last week for new topics to be introduced, Judy presented a lecture on Inheritance. I had read and worked through some inheritance tutorials previously but did not really grasp it with good clarity. Judy’s lecture did clarify a great deal.

Key advantages to inheritance:

  • Avoid code duplication
  • Re-use
  • Easier maintenance
  • Easier extendability

source: week 11 lecture notes

Categories
Computer Technologies and O/S

FIT9018: Week 11

A quick summary of week 11 which was a brief and perhaps dated review of storage devices:

  • Magnetic Disks
    • Direct Access Storage Devices (ie Hard disks/Floppy Disks) –  Organized by sectors, tracks and cylinder heads
  • Total (Disk) Access time – Total time it takes to read a piece of data – seek time + rotational delay + Data transfer time
    • Seek Time – time to position head over required cylinder (usually 4-8ms)
    • Rotational delay – time for desired sector to pass under the head (avg. 4ms)
    • Data Transfer time – >1ms
  • Magnetic Tape – Cheap sequential storage medium (only used for logging these days)
  • Optical Storage – CD-ROM/DVD/HD-DVD/BlueRay
  • Solid State –  USB Keys/SolidState Hard-drives (more information: http://en.wikipedia.org/wiki/Solid-state_drive)
Intel's SSD range (quickly coming down to a reasonable price)
Categories
Database Technology

FIT9019: Week 11

Week 11 gave us a quick introduction to PL/SQL.

The primary tools of PL SQL are:

  • Anonymous Blocks
  • Named Blocks
  • Subprograms
  • Triggers

Of these subprograms and triggers would be the most commonly used.

The structure of PL/SQL:

DECLARE
/*Declarative section is where variables and other objects such as cursors, types, exceptions, etc. are declared. Local
procedures and functions can also be declared and will be available for this block only. This section is optional */
BEGIN
/* Executable section can consist of both SQL statement and procedural statements. This section is where the work the
block has to perform is done. This section is mandatory */
EXCEPTION
/* Exception handling section is where errors are handled. The code in this section gets executed only when an error
is encountered. This section is optional. */
END;
/

A couple of examples of PL/SQL blocks:

-- Whenever emp_salary is updated or an employee deleted, this trigger enters a corresponding record into
--'EMPLOYEE_SALARY_CHANGE' table.
CREATE OR REPLACE TRIGGER trg_trackSalaryChange
AFTER UPDATE OR DELETE OF e_salary ON employee
FOR EACH ROW
DECLARE
oper VARCHAR2(10);
new_sal NUMBER(6,2);
BEGIN
IF updating THEN
oper := 'UPDATE';
new_sal := :new.e_salary;
IF :new.e_salary <= 0 THEN
RAISE_APPLICATION_ERROR (-20000, 'SALARY CANNOT BE ZERO OR NEGATIVE.');
END IF;
END IF;
IF deleting THEN
oper := 'DELETE';
new_sal := NULL;
END IF;

INSERT INTO employee_salary_change VALUES (:old.e_no, :old.e_name, :old.e_salary,
new_sal, user, sysdate, oper);
END;
/

For some basics on PL SQL such as syntax and constructs visit: http://plsql-tutorial.com/index.htm

Categories
Systems Analysis and Design

FIT9030: Week 11

Week 11 and 12 are both coming along a bit late. The 3 secondary assignments which were due in the last week took up most of my study time and my review process was somewhat derailed. I have definitley noticed that I do not adsorb as much from the lectures if I don’t keep up with this quick review within 48 hours of first hearing the lecture.

Week 11 was all about the User Interface, the key points taken from this lecture were:

  • 3 Principles of user centered design [UCD]
    • Focus early on the users and their work (interviews, questionnaires, observation)
    • Evaluate designs to ensure usability (must be easy to learn)
    • Use iterative development (prototyping with case tools will assist a great deal with this)
  • 3 metaphors of human-computer interaction
    • Direct Manipulation – User interacts with objects on the screen (evolved into the Desktop metaphor)
    • Document – electronic documents, ie: forms
    • Dialog  – command and response.
  • Principles of visibility and affordance
    • Visibility – everything that is expected to appear does and in the expected location, ie: submit button should immediately be visible on all forms.
    • Affordance – appearance should suggest function ie: an envelope suggests email function.
    • Standards and guidelines are also important to ensure visibility and affordance (particularly Microsoft and Apple’s  standards which are publicly available)
  • Aspect of user interface
    • Physical – Devices touched (mouse/keyboard),  manuals/documentation
    • Perceptual – Screens/Menus/Buttons
    • Conceptual – What the user understands about the logical tasks/functions of the system

User interface is a very large field and this quick skim over the lecture does not cover a large fraction of what we discussed in the lecture and the tut. In the interest of getting back on track with posts the above points will suffice.

The are some crazy examples of how far GUI design can go on Youtube based on Linux:

Categories
Foundations of Programming

FIT9017: Week 10

Week 10’s lecture by Judy started with an example of why code format convention are important if software is to be supported, extended, corrected, maintained, ported, adapted and re-used.

The focus then turned to 2 code important concepts of code quality:

  • Cohesion – Each component must contained related and well defined task, high cohesion is good.
  • Coupling – Each component must rely on as little data from other components as possible, low coupling is good.
    • Explicit Coupling – public Room northExit; (public fields should be changed to private and accessor/mutator methods added
    • Implicit Coupling – Call get/display methods instead of have 2 hard coded copies of information used in more than one class.
    • Not included was an explanation of normal coupling where a constuctor/mutator needs parameters.

Finally we covered some java commands from prompts for compiling and running:

  • compile:  javac class1.java
  • run: java class1
  • run jar: java -jar somthing.jar

We submitted our class diagrams and test strategies for Assignment 2 in the tutorial. I am lacking some understanding of the requirements for the test plan and how to present it so I will have to review this… there is not much info in the text book or lecture slides.

Categories
Computer Technologies and O/S

FIT9018: Week 10

Week 10’s lecture was a continuation from Week 9’s introduction to shell scripting. The tutorial this week was closely correlated to the lecture material for weeks 9 and 10.

Ubuntu Shell

Pearl of the Week: Test function in shell scripts. + /dev/null (trash bin for script outputs)

if [ $var1 = $var2 ]
then
echo var1 and var2 are the same
else
echo var1 and var2 are different
fi

We had a chance to make some scripts based on the constructs and operators that we learnt from the lecture:

[To be uploaded]

A basic but detailed guide to shell scripting: http://www.freeos.com/guides/lsst/

An advanced guide to shell scripting:  http://tldp.org/LDP/abs/html/

Categories
Database Technology

FIT9019: Week 10

Week 10 saw us move away from the more technical SQL and Indexing topics to ‘Database administration, Transaction management and Concurrency Control’.

Responsibilities of DBA:

  • Control of redundancy
    • Use of standards for modelling
    • Maintaining data dictionary
    • Ensuring sufficient normalization
    • Managing sharing of data  between multiple applications
  • Control of Integrity Constraints
    • Defining appropriate integrity constraints
    • Ensuring applications meet with the impose constraints
    • Ensuring applications cannot subvert constraints
  • Control of central data security
    • Provision relevant user views
    • Issuing passwords
    • reviewing physical security
    • design and monitoring of back up procedures

Also important duties are:

  • Query Optimization
  • Clusters, Indexes

Manoj then continued into the nature transactions, crashes and concurrency control. A quick summary below:

  • Transactions
    • A single or number of processes involving database accesses that constitutes one single logical action (i.e. bank transfer). Atomic (indivisible, can’t separate processes), Durable (upon completion, stored permanently).
    • Transactions can be committed or aborted (rollback, utilizing before-image log)
    • Checkpoints are periodic (usually 15-20mins) batch writes of transactions to disk.
  • Soft Crashes
    • I.e. Power failure, where system resets but no physical damage.
    • After soft crash, secondary memory data is loaded, then transaction log is referred to and transaction missing from secondary memory are either:
      • Redone (REDO), if the transaction was completed and can be re-completed this will be done
      • Undone (UNDO) if the transaction was not completed (committed) in the log then it must be undone (transactions are atomic).
source: week 10 lecture notes