01 Intro
01 Intro
Acknowledge: slides from Prof Alan Fekete and Uwe Roehm, and from the
materials associated with reference books (c) McGraw-Hill, Pearson
COMMONWEALTH OF AUSTRALIA
WARNING
2
Acknowledgement of Country
Before we begin the proceedings, I would like to
acknowledge and pay respect to the traditional
owners of the land on which we meet; the Gadigal
people of the Eora Nation. It is upon their ancestral
lands that the University of Sydney is built.
As we share our own knowledge, teaching, learning
and research practices within this university may we
also pay respect to the knowledge embedded
forever within the Aboriginal Custodianship of
Country.
Role of the unit
• “The ubiquitous use of information technology leaves us facing a tsunami of data
produced by users, IT systems and mobile devices. The proper management of
data is hence essential for all applications and for effective decision making within
organizations. This unit of study will introduce the basic concepts of database
designs at the conceptual, logical and physical levels. We will place particular
emphasis on introducing integrity constraints and the concept of data
normalization which prevents data from being corrupted or duplicated in different
parts of the database. This in turn helps in the data remaining consistent during its
lifetime. Once a database design is in place, the emphasis shifts towards querying
the data in order to extract useful information. The unit will introduce the SQL
database query languages, which is industry standard. Other topics covered will
include the important concept of transaction management, application
development with a backend database, and an overview of data warehousing and
OLAP.” [from UoS outline]
• 2018 curriculum: Required for BAdvComp, 2018 BSc and shared pool Information
Systems major
• Replaces INFO2120, so required for BCST, BIT, BE(Software), previous years BSc
Information Systems major
ISYS2120 times and places
• 2 hrs/week of lecture, every Tuesday 4-6pm
– we aim to record lectures, but technology can fail
– slides will be posted
• 2 hrs/week of Lab: in a block, depends on your
timetable
– try to go to the lab you are scheduled for
– If necessary, you can ask to attend another lab session if
there is space and the tutor agrees, but ask the tutor
before taking a seat
– You can work on your own device
– Note that weekly quizzes and SQL quiz happen in lab time
– Do not miss lab, except for illness, emergencies, etc
• Get help from staff if you feel you are falling behind
ISYS2120 people
Unit coordinator, and also lecturer Dr Matloob Khushi
([Link]@[Link])
› This is the person who deals with all paperwork and admin
issues
› Illness or misadventure
› Rules and policies
› Best contacted by email (make sure the subject
mentions the UoS code)
Teaching Assistance: Harshana
sran6646@[Link]
Tutors: depends on your timetable list on Canvas
Class Representative
• The role of (B/G)CR is to communicate
anonymously concerns/issues of the students
to teaching team.
• This will enable a back & forth communication
instead of one-way.
• Call for volunteers!
ISYS2120 resources
• Canvas
– [Link]
– Login using Unikey and password
– within this, the unit-specific subsite
– Link to Unit Outline
• Official assessment schedule, list of learning outcomes, etc
– Copies of slides
– Instructions for labs and assignments
– Quizzes
– Lecture videos
• We intend to record the lectures
• Let us know of difficulties, so we can get recordings fixed!
– Submit text-based official assignment work here;
– Link to discussion forums on Edstem
– see your grades; etc
– Link to GrokLearning site where SQL-related explanations and tasks are run
ISYS2120 resources
• GrokLearning site, teaching SQL
– Access from Canvas
– Always follow link from Canvas to a particular
Grok module, to work on it
• do NOT move onto other modules within Grok; instead
return to Canvas first
– module includes explanations “circles” (with
runnable modifiable code for experiments)
– module also includes tasks “diamonds” which
require you to write code
• includes some automatic testing (some public tests;
also perhaps hidden tests)
ISYS2120 Reference books
• lots of choice,
from SciTech
library
• see if one helps,
if so, consult it
regularly
– alternate
explanations,
– more detail than
lectures
– but notations
differ
acknowledge: book cover images (c)
McGraw Hill, Pearson.
ISYS2120 External online resources
• There are lots of Database classes online
• Many are free, but often they are aimed at
more CS focus (eg platform internals)
• One set (linked to Garcia-Molina textbook)
[Link]
[Link]
• [Link]
General Expectations
• Students attend scheduled classes(*), and devote an extra 8 hrs per
week
– (*) carefully watch videos if not able to attend lectures
– doing assessments
– preparing and reviewing for classes
– revising and integrating the ideas
– practice and self-assess
• Students are responsible learners
– Participate in classes, constructively
• Respect for one another (criticize ideas, not people)
• Humility: none of us knows it all; each of us knows valuable things
– Check your Uni email daily
– Check Canvas site at least once a week
– Work on GrokLearning platform every week
– Notify academics whenever there are difficulties
– Know and adhere to University policies
ISYS2120 Expectations
• Prerequisites:
– one of a range of units giving programming skills
– we will use Python and Java in examples
– Also, learning skills, time management etc as
needed in second year Uni!
• If you find you are missing any aspect of what
is needed for following lectures or labs,
please contact the coordinator immediately
ISYS2120 Assessments
Assessment Week Due Weight (%)
Weekly in-tutorial Weekly 10
quizzes
SQL quiz Week 7 10
Assignment 1 Week 5 10
Assignment 2 Week 7 5
Assignment 3 Week 12 15
Exam Exam Weeks 50
ISYS2120 Weekly Quizzes
• Done during scheduled lab sessions
(usually in last hour of the lab)
• one quiz every week (week 1-6, 8-11)
• Worth 1% each, but total capped at 9
• Answer multi-choice questions about the
material of the previous week
• Quizzes provide practice and feedback,
especially on the conceptual material, to help
students prepare for the written exam
ISYS2120 SQL quiz
• Done during scheduled lab session in
week 7
• Worth 10%
• Like several of the Grok-based diamonds, but
done under some time pressure
– autograded, also using some hidden data that
you don’t know
– you may use Grok resources from the unit during
test
• To check that you have gained competence
in writing SQL queries
ISYS2120 Asst1
• Worth 10%
• Due week 5
• Work in small groups (3-4 students)
– group members must all be attending same lab
session
– group members get same score unless someone
found to be non-contributing member
• DB Schema Design
– start from E-R diagram, hand in SQL code to
create tables
ISYS2120 Asst2
• Worth 5%
• Due week 7
• Work in small groups (3-4 students)
– group members must all be attending same lab
session
– different group from asst1
– group members get same score unless someone
found to be non-contributing member
• DB Conceptual Design
– start from textual description, hand in E-R
diagram
ISYS2120 Asst3
• Worth 15%
• Due week 12
• Work in small groups (3-4 students)
– group members must all be attending same lab
session
– different group from asst1 and from asst2
– group members get same score unless someone
found to be non-contributing member
• DB Programming
– complete a given code skeleton, so it acts as a
database application for a given database. Also, write
a report on the decisions taken
– Interview / Viva Voce
ISYS2120 Exam
• Worth 50% of the unit
• Written questions will cover the content of
lectures and labs and assignments.
• School of Computer Science policy: you
must get at least 40% of the marks
available on the exam, in order to pass the
unit (as well as getting at least 50% overall
mark)
Two-way Assessment
• Individual assessment
• A student needs to gain an understanding of high level knowledge/skills
• A student needs to gain skills to find, evaluate and apply existing knowledge/solutions
Encouraged
Attribution required
Not acceptable
Ask Lecturer/Coordinator
Penalties
• The penalties for violation of academic integrity are severe and include:
1) a permanent record of academic dishonesty, plagiarism and misconduct in the University
database and on your student file
2) mark deduction, ranging from 0 for the assignment to Fail for the unit
3) expulsion from the University and (for international students) cancelling of your student
visa
3
0
Advice, especially for SQL assessments
• Do not confuse legitimate co-operation and cheating! You can discuss the question
and your intended approach with another student, this is a legitimate
collaboration; but you cannot write the query together, nor can either of you make
use of the other’s actual code (not even part of it) – everyone must write their own
code and acknowledge sources of ideas.
• When there is copying between students, note that both students are penalised –
the student who copies and the student who makes his/her work available for
copying
• A lot of cheating occurs when students feel pressure as deadlines approach,
especially with autograding when you see that your work is not passing the tests.
Resist the temptation!
• It is much better for everyone if you submit whatever you can do yourself, even if
it isn’t complete or perfect.
• You learn by trying, and we can help you more effectively if we see your situation
accurately.
3
1
Detection
• We will use the similarity detection software TurnItIn and MOSS to compare your
assignments with these of other students (current and previous) and the Internet
• Turnitin is for text documents: [Link]
• MOSS is for programming code: [Link]
• These tools are extremely good!
• e.g. MOSS cannot be fooled by changing the names of the variables or changing the
order of the conditions in if-else statements
3
2
Student excuses
• All these are cases of plagiarism and academic dishonesty we have seen in our
school
• The student excuses are not acceptable:
• I sat the test and then posted the questions and solutions to my friends whose test was
later in the week. I only wanted to help them understand the concepts that are
examinable.
• I posted parts of my code on my web page (or the group discussion forum) because my
solution was cool (or I wanted to help them). I didn’t expect them to copy it.
• I tried to do the assignment on my own but I had problems with the extension part that I
couldn’t fix, so I submitted my core part and his extension part. I didn’t cheat.
• I finished my assignment but my friend had family problems. I felt sorry for her, so I gave
her my assignment as an example. She said she only wanted to have a look and
promised not to copy it.
• The test has finished but the tutor hasn’t collected the papers yet. I showed my answer
to my friend. I didn’t expect him to copy it.
• He is my best friend. I had no choice but to let him copy my assignment. 3
3
Key message
• Plagiarism and any form of academic dishonesty will be dealt with, and the
penalties are severe
• We use plagiarism detection systems such as MOSS that are extremely good. If you
cheat, the chances you will be caught are very high.
• If someone asks you to see or copy your assignment, or asks you to complete the
assignment instead of them, just say: I can’t do this - we can both be thrown out of
the University. I will not risk my future by doing this.
Be smart and don’t risk your future by engaging in plagiarism and academic
dishonesty!
Make this class (and every class) a supportive learning community, by having academic
honesty as a core value.
3
4
WHS INDUCTION
3
7
EMERGENCIES
3
8
EMERGENCIES
3
9
EVACUATION ASSEMBLY POINT
Follow directions of wardens
40
l
MEDICAL EMERGENCY
• If a person is seriously ill/injured:
1. call an ambulance 0-000
2. notify the closest Nominated First Aid Officer
If unconscious– send for Automated External Defibrillator (AED)
AED locations.
NEAREST to SIT Building (J12)
- Electrical Engineering Building, L2 (ground) near lifts
- Seymour Centre, left of box office
- Carried by all Security Patrol vehicles
3. call Security - 9351-3333
4. Facilitate the arrival of Ambulance Staff (via Security)
Julia Ashworth
Level 2E Reception
9351 3423 OR
• [Link]
Do you have a disability?
You may not think of yourself as having a ‘disability’
but the definition under the Disability
Discrimination Act (1992) is broad and includes
temporary or chronic medical conditions, physical
or sensory disabilities, psychological conditions
and learning disabilities.
Application
#1
Database
containing
Application
#2 DBMS centralized
shared data
Application
#3
Categories of organizational data
• Personnel
• Inventory
• Orders
• Partners
• Transactions
• Tasks
Importance of data
• The day-to-day operations of an organization depend on accurate
data
• The long-term planning in an organization depends on accurate data
• Example: a supermarket chain
– What data is needed to pay workers?
• “Carol Jones worked for 7 hours on Monday July 21, as Deli Manager”
– What data is needed to pay suppliers?
– What data is needed to decide when to offer a discount on tinned peas?
– Think of some other activities…
– Estimate the amount of data…
• Data is a major asset for the organization
– Think of the losses if the data is missing or wrong
– Think of the cost to replace the data
Managing Data
Product:
Supplier: ProdID Descr SuppID
SuppID Name Phone
29012 Peas with Mint, 8731
8703 Heinz 0293514287 400g
8731 Edgell 0378301294 30086 Peas and 8703
Carrots, 450g
8927 Kraft 0299412020
31773 Salted Peanuts, 8731
9031 CSR 0720977632 500g
Instance
• DDL: Data Definition Language is used to define the schema. It allows one
to say tell the DBMS what tables exist, and what structure they have.
• DML: Data Manipulation Language is used to access the data. It includes
commands to update (change) the contents of the database, and also it
has commands that can retrieve information from the database
(“queries”).
• For a relational DBMS, both DML and DDL are in SQL
– SQL is quite declarative in style (programmer says “what is needed” not “how
to find it”)
– SQL is a standard, but each vendor has variations, so one doesn’t have
complete portability.
– Applications are written to call the DBMS through SQL commands
• We study this in depth through much of the semester
SQL Example
• The powerful command
SELECT – FROM – WHERE
retrieves data (rows) from one or more tables of a
relational database that fulfill a search condition
• Example 1:
SELECT SuppID, Phone
FROM Supplier
WHERE Name=‘Heinz’
• Example 2:
SELECT COUNT(*)
FROM Product
WHERE SuppID =01-628703
Levels of Abstraction
• Many views, single View 1 View 2 View n
logical schema
and physical
schema
– A View describes Logical Schema
how a user sees
the data
– Logical schema
defines the Physical Schema
structure of data
as it is shared
among all users
– Physical schema
describes the files DB
and indexes used
for storage on disk
Data Independence
• Applications are insulated from how data is structured and stored
If you find you also need to know the phone number of each customer