SE250:March 6
Announcement
The First SESA Annual General Meeting
What: SESA AGM
When: Thursday, 6th of March at 12pm. (Just after SE251 Lab)
Where: 5th floor Common Room, Computer Science building. (Just take the lifts near the Compsci labs i.e. GTL to the 5th floor. Directions to the common room will be displayed on the 5th floor.)
If you would like to continue being a SESA member this year then please come along and sign up for 2008. Other issues that will be covered are:
• Election of treasurer (A 2nd year SE)
• A review of events this year.
• Frequency of club meetings.
• SE t-shirt.
If you can't make it to the AGM and would still like to be a member then just contact me.
Hope to see you all there.
Cheers,
Umang Parikh
Founding Member of SESA
Agenda
SESA Membership::Visit http://www.sesa.org.nz/user/register to be a member
- Discuss how to use emacs - tutorial
- Overview of the course topics --Mabd065 10:23, 8 March 2008 (NZDT)
Minutes
UoA Engineering SOFTENG 250 Meeting 3 - Course Expectation Overview, EMACS Tutorial March 6, 2:05pm
Course Overview:
- Every week's lab will lead to introduction of new material for the week
- Compilation of all the resources (links, thoughts, talk etc.) and contribution to the HTTB would be sufficiently cover whatever would be asked in the test and exam
- A slightly deeper look into the content to be covered:
Lab 1 : Introduction to C, simple loops, concept of measurement
Lab 2 : Pointers and arrays
Lab 3 : Array based lists
Lab 4 : Hashing
Lab 5 : Binary search trees
Lab 6 : Balanced binary trees
| MID SEMESTER BREAK |
Lab 7 : State-space search
Lab 8 : Parsing
Lab 9 : ??
Lab X : ??
(course schedule subject to change)
- "Big-O" concept would be covered in the weeks of Labs 3 through to 7
[ FIRST HALF OF SEMESTER 1 ]
ARRAY BASED LISTS
- Are the most common and easy form of structuring data given that we know the number of items
- Can have 0 or more elements/items/entities
- We are interested in managing lists when we DON'T know what the upper limit => lists that can deal with large numbers
- In a nutshell >> Array based list is a memory block with 'Reference' at the start, a 'Used space' and a 'Free space'
LINKED LISTS
- Made of cells/blocks that are linked together - store new value with link to saved value
- Have a lot of reference pointers
HASH TABLES / HASHING
- Have a MAP structure compared to the the array like structure of lists
- Has keys to find data (eg. Map of student ID from student database)
- Is quick in finding data
- Hash functions:
- Introduce 'randomness'
- Meausure 'randomness'
- Cover statistical and probability theories and Entropy
- In a nutshell >> Hash tables are a combination of arrays with linked lists
BINARY SEARCH TREE
- Has a cell with 2 elements and a pointer "inbetween" and the first cell branches of something like a family tree
- Built on the notion of ordering (left-right ordering)
- Is quick in searching data
- Is a common data structure type
- Is most efficient - minimum time, minimum resources
[ SECOND HALF OF SEMESTER 1 ]
PARSE TREE
- Commonly used for representing structure of computer programs
- User has quick access to all components
- Converts text to a something that is easier to manipulate
STATE SPACE SEARCH
- Very large implicit graph (eg. map for a puzzle like sudoku or game like chess)
- Is made of 2 main components:
- Node = state of problem
- Children = states that are 1 move/step away
--- 25 minute nutshell of course content ---
!! Arrays and Pointers will be covered next Tuesday (11 March) onwards
GNU EMACS Tutorial
- Helpful resource for setting up useful software related to SOFTENG250
- Free to download software GNU EMACS
- Screencast on creating installing EMACS available (note: Shockwave player required to view the screencast)
- An initial configuration of EMACS is required:
- Under OPTIONS tab, folllowing features are useful:
-- Active region
-- Highlighting
-- Parantheses matching
- Under CUSTOMISE:
-- Shell file name (for windows: change to >> C:/cygwin/bin/bash.exe
- The editor is designed for programmers - has built in language tools and options
- Has some naming conventions:
- C- : Hold down CTRL key
- M- : Hold down ALT (meta) key
- M-/ : Expands dynamic abbreviation (press the / key while ALT is held down, OR press and release ESC, then press the / key)
- TAB : Indents current line
- C-g : to Quit or Revert back to normal
- Example of compiling a file:
-gcc -g -o demo demo.c && ./demo
-gcc : GNU C Compiler
-g : Enables debugging
-o : Output to
demo : Name of output program
demo.c : Source file
- Help < Tutorial - mainly obsolete
- C-hr - for complete manual
- Has lots of operations for text
- Tools < Version Control - good for reviewing changes
End of Meeting
Taken by State4PlasmaTalk 00:39, 7 March 2008 (NZDT)
Minor Edits and checking by ChineselegolasTalk 00:57, 7 March 2008 (NZDT)
Corrections
- In terms of Binary Search Trees I think the given note is wrong. Binary trees are a value "in between" 2 pointers which point to the previous value and the next value. Please comment. Rbha033 13:21, 16 April 2008 (NZST)