INFO1111 Full Summary PDF

Title INFO1111 Full Summary
Author Sebastian McConkey Greene
Course Computing 1A Professionalism
Institution University of Sydney
Pages 20
File Size 750.6 KB
File Type PDF
Total Downloads 257
Total Views 685

Summary

Week 2Skills Framework for the Information Age (SFIA)Team Work - Successful Teams● Why are some groups successful?● Hackman identified three attributes of such groups ○ They satisfy internal and external clients ○ They develop capabilities to perform in the future ○ Members find meaning and satisfac...


Description

Week 2 Skills Framework for the Information Age (SFIA)

Team Work - Successful Teams ●

Why are some groups successful?



Hackman identified three attributes of such groups





They satisfy internal and external clients



They develop capabilities to perform in the future



Members find meaning and satisfaction

And then five factors that increase the chances for success: ○

A real team (shared task; clear membership; stability; …)



Compelling direction (SMART goals?)



Enabling Structure (size; internal structure; skills balance; …)



Supportive Context (reward; development; information; …)



Expert Coaching (support; mentoring; evaluation; …)

Successful teams Characteristics of groups that worked effectively: ●

equal contributions



full discussion of issues



member support → High quality result & high level of member satisfaction

Common problems that prevent groups working effectively: ●

problems with logistics



problems with allocation of tasks



coordination of member contributions



lack of commitment from some group members → Quality of group product lower than individual product, & high level of stress and dissatisfaction

Strategies for improving group dynamics ●

Setting up the group. Positive organisational systems such as drawing up a team constitution and open discussion in the first meeting of your group can help the development of a good dynamic.



Dealing with differences. In universities today, most groups are going to include people from different cultural backgrounds. Again, open discussion and tolerance are key factors for success here.



Dealing with negative behaviour such as aggression, blocking, controlling, freeloading and discounting.

Week 3 Communication Transmission Models - eg. texting someone

Interaction Model - eg. Conversation in a car

Transaction Model - Lecture

Week 4 Finding information Evaluating sources ●



Authority of the course ○ Must be reputable and reliable (how do we know???) ○ Peer review processes Suitability of material ○ Must be related

Sufficiency of material ● ●

Include a wide range both supporting and opposing evidence

Problems with multiple people working on the same artefact ●

How does that work?



Who wrote what?



Problems ○ Traceability ○ Version history ○ Security

Git Collaboration

Week 5

Week 6 Intellectual Property / Commercialisation Who owns the code you write? - If you were to get a summer internship writing code for a games app developer and wrote the next “Subway Surfers”, what rights would you have? What if the internship was unpaid? Paid?

What is “Intellectual Property” Intellectual Property in Technology - (IP) The ownership of ideas and control over the tangible or virtual representation of those ideas. Use of another person's intellectual property may or may not involve royalty payments or permission, but should always include proper credit to the source.

Who owns software (In Australian copyright law)

Software is protected as a literary work ● ●

Usage is governed by licensing agreements. But this doesn’t cover things like titles, images, etc.…

Ownership determined by: ● ● ●

Any agreement that is in place If created as an employee in the course of employment the employer Otherwise the creator of the software (generally the developer/s who wrote the code).

Differing ways of protecting your ideas: ● ● ● ●

Trade Secrets Copyrights Patents Trademarks

Trade Secrets Protect your ideas by hiding them ●

If something is not generally known, and you take steps to keep it secret, then it has protection under intellectual property law.

But how do you hide software? ● ● ●

If the creation process takes time… Then simply keep the idea secret and then be first to market! Someone else cannot use the idea unless they came up with it independently…

So how do you keep it a secret? ●

You must make reasonable efforts to maintain the secrecy. ○ Inventories that identify material; confidentiality agreements and policies; physical and electronic security, etc.

Copyright Whoever writes the code owns the copyright An automatic legal right ● Varies depending upon whether the representation is “fixed” to a tangible medium. ● In US and Canada ○ requires that works are "fixed in a tangible medium of expression” in order to be protected ● In France and Australia ○ works need not be in a particular form to have copyright protection

Whoever owns the copyright, has certain rights (which others do not have) ● ● ● ●

Reproduce the software (both to physical media and with a computer) Publish the software Adapt the software Communicate the software to the public

But there are a number of free use exceptions ● ● ● ●

Fair dealing (research; criticism or review; parody or satire) Flexible dealing (for use in teaching) Educational exceptions (classroom demonstrations) Back-up copies

Trademarks Protects a specific and distinctive “brand” ● ●

It can be anything that represent your market position: a word or phrase, a logo or picture, a sound or smell, or some combination. It must be actively used or it can rescinded

It is distinct from the company name and the domain name! ●

Owning one does not protect the other!

Similarly to copyright –you don’t need to register a trademark But it helps!

Licenses Once you establish ownership (of the IP, not the software), how do you allow others to use (and benefit) from it? Licence agreements! ● ●

Proprietary ○ EULA : End-User Licence Agreement (“licenced not sold”!) FOSS (Free and Open Source Software)

Variation in the rights that are granted: Right to use / copy / modify / distribute / sublicence

But also the liabilities that are accepted!

Open Source Software where the source code is made available! Does not mean that the “owners” donot retain rights over the IP!

Various licencing models ● ●





Copyright: ○ I own the software. You can use it but not redistribute Copyleft(Protective/Share-alike): e.g. GNU ○ I own the software. You can use it and redistribute it (for free), but the same rights must be preserved. Copycentre(permissive): e.g. BSD ○ I own the software. You can use it and redistribute it (for free, or charged), you must acknowledge this software but can change the rights. Creative Commons

Patents Protects a technical solution / invention ● ● ●

A reward for investing in the development of the invention? The invention must be new, inventive, and useful Algorithms and abstract concepts cannot be patented

Essentially gives an exclusive monopoly on an invention ● ●

You can stop others using your invention. You can license others usage.

Requires the “invention” to be described to the patent office (IP Australia) ●

The information then becomes public!

Legally enforceable Owner has exclusive right to commercially exploit the invention for the life of the patent Can only apply to technology, i.e. something that is a product, a composition or a process. ● ● ●

Must be novel, i.e. different from anything that has gone before. Must be useful, i.e. have the potential for commercial return Must be inventive, i.e. the result of some ingenuity on your part, not just a solution to a problem that would have been obvious to anyone.

Intellectual Property (IP) ● ● ● ●

Represents the property of your mind or intellect. It can be worth money and may be sold on to other parties to utilise It may give you the ‘edge’ which will make your company successful It may be stolen and/or used without permission

Registration of IP is administered in Australia by IPAustralia ● ● ● ●

Patents Designs Trade marks Business names

Patent Process ● ● ● ● ●

Involves full disclosure -a full description of how the invention works The patent office then examines the application to ensure it fulfils the three criteria and does a patent search Members of the public can object if they hold patent for something similar Process can take more than a year Patent lasts for 20 years

Week 7 Ethics Ethics vs Morals? ● ●

Morals: Principles of right and wrong that guide personal behaviour–your personal compass. Internal. Ethics: Rules of conduct accepted within a social context. External.

How do undertake ethical reasoning? Frameworks for making judgements… ● ● ● ● ● ●

Ethicalpluralism Teleological ethics Deontological ethics Egoism Utilitarianism Contractarianism

Teleology “State of the World”

Egoism ● ● ●

Value of a state is based on your individual situation … but think about flow-on effects E.g. how other people will respond, and how that will in turn effect you

Utilitarianism ● ● ● ●

Value of a state is based on total situation of all people “Greatest good of the greatest number” Who is included? How are their situations weighted? E.g. Tradeoff between a few people suffering much, vs many people suffering a little

Deontology Decide on actions based on duty ●

rather than on determining the consequences in the particular case

There are many duties, and they often conflict! Ross’ prima facie duties: ● ● ● ● ● ● ●

Fidelity (promise-keeping, truthfulness) Reparation (recompense for previous wrongs) Gratitude (thankfulness for previous services) Justice (happiness should reflect merit) Beneficience (help others) Non-maleficience (don’t hurt others) Self-improvement

Professional Frameworks ACS Code of Professional Conduct 1. The Primacy of the Public Interest 2. The Enhancement of Quality of Life 3. Honesty 4. Competence 5. Professional Development 6. Professionalism

ACM / IEEE-CS: Code of Ethics and Professional Conduct 1. Public. Software engineers shall act consistently with the public interest.

2. Client and employer. Software engineers shall act in a manner that is in the best interests of their client and employer, consistent with the public interest. 3. Product. Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. 4. Judgment. Software engineers shall maintain integrity and independence in their professional judgment. 5. Management. Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. 6. Profession. Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. 7. Colleagues. Software engineers shall be fair to and supportive of their colleagues. 8. Self. Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.

Week 8 Systems Thinking Broad level: The connection between solutions, systems that implement them and the society they operate in. ●

How does the work IT Professionals do fit in with the rest of the world?

More focussed: Components of a system, their interactions and interrelationships can be analysed individually to see how they influence the functioning of the whole system. ●

How do our solutions influence the systems they operate in?

… it’s a way to view interactions in the wider world, a “way of thinking” or a “philosophy” for some. Contrast to “traditional” systems analysis where a problem is broken into parts and studied individually

API (Application Programming Interface) ● ●

can describe how to connect a dataset or business process with a consumer application or another business process create a seamless workflow for accessing a business’ services



improve process efficiencies and authorisation movements across a business

Week 9 - Computer science A major in computer science covers the key concepts of computation. ● ●

You will learn the principles and techniques needed to solve tasks efficiently with computation, and how to express those solutions in software. You will also discover how computation can be modelled and how to reason about the limits of what computation can achieve.

A major in computer science: ● ●

Focuses on how to compute things! (rather than how to build a software system) Will provide you with the knowledge and skills needed to innovate in information technology, and create fundamentally new IT solutions to future challenges.

Concepts ● ●

● ●



Data structures ○ Tree, Stack, List, Heap, Queue, Linked list, hash table Algorithms ○ Sorting (e.g. bubble sort), Optimisation (e.g. hill climbing), Security (e.g. public key encryption) Theory of computation ○ O(x) notation, P=NP?, computability, automata, … Language theory ○ Abstraction, type theory, programming languages, ○ Concepts: decisions, looping, pointers, recursion, … Models/Architectures ○ Mathematics: Boolean logic, set theory, probability, … ○ Formal methods, concurrency (e.g. deadlock)

Concepts Examples Algorithms: Public Key Encryption ● Problem ○ Anna and Tran can only communicate via email. Anna wants Tran to email her a confidential document, but the email is insecure. Anna could send Tran a “password” to lock the document before sending it, but what happens if someone also intercepts the password? ● Solution: Public Key Encryption

Learning Outcomes Theory ●

Acquire knowledge of the fundamental mathematical properties of hardware, software, and applications Acquire knowledge of the theory of computation and its limits

Data structures and algorithms ● ●

Find efficient solutions to a wide range of computational tasks, by applying known data structures and algorithms Reason the correctness and efficiency of algorithms

Implementation ●

Learn basic knowledge of the hardware & software stack including computer architecture, operating systems, programming languages, databases, and networking.

Week 10 - Software Development ● ● ● ●

Computer Science ○ The underlying theories of computing; algorithms; data modelling; … Data Science ○ Understand and using complex data; modelling; visualizing; … Information Systems ○ Enterprise systems; procurement; integration; maintenance; … Software Development ○ Managing the design and construction of software systems; …

Software Development: Key Concepts

Process

Requirements / Analysis / Specifications

Characteristics Egoless programming ● ● ● ●

We all make mistakes You are not your code The only constant is change Critique code, not people

Time spent on Coding / Testing / Debugging / Maintaining ● ● ● ●

During initial development –coding/testing ≈ 50%/50% During full lifecycle –maintanence≈ 50%-95% ○ 80+% of maintenance time is adaptive/perfective, not corrective Hardware has a well-recognisedpattern for wearing out. But does software wear out ???

Learning Outcomes Students who graduate from Software Development will be able to: ● Students can work effectively as a software developers in a medium-scale team. ● Individually and as a team, students can interact with clients to determine software requirements. ● Individually and as a team, students are able to produce usable software artefacts that meet users’ requirements. ● Individually and as a team, students are able to follow and apply process to ensure the delivery of quality artefacts within resource constraints. ● Students learn to use and apply contemporary software development tools and practices. ● Students learn to structure software well on small and medium scale. ● Students can learn new tools, languages, processes and technologies as they arise. ● Students learn to evaluate software (own & others). ● Students are made aware of diversity of programming paradigms and platforms. ● Students are able to apply foundational computer science knowledge of algorithms and data structures.

Week 11 - Computational Data Science How much data is generated every day? ●

2.5 exabytes(quintillion bytes)

Where does this data come from? Images, videos, tweets, blog-posts, emails, messages, … But what else? ●

Open Source Repositories

By 2021 –30 connected devices per house ●

Air conditioners, ovens, coffee machines, solar panels, door locks, hot water systems, sprinklers, light bulbs, security cameras and fridges

IoT devices to generate 400 zettabytes (1021) of data in 2018 It is predicted that cars will generate 25GB/hr. The Boeing 787 generates 40 TB/hr

Data Science Tools and Techniques Programming Languages ●

Python, R, SQL, …

Processing tools ● ●

Analytics/Statistical: SAS, SPSS, … Big data: Hadoop, Hive, Pig, …

VisualisationTools ●

Google Chart, Tableau, …

Ethical Issues Lots of data arising from everyday life.. ● ●

Your phone knows where you are? Your google home can hear you all the time?

Data analysis presents major issues… ● ● ●

Economic: University admissions? Medical: Health insurance? Legal: Retrospective policing?

E.g. What if your health insurance company could use you relatives DNA profile from a genealogy site to decide whether to insure you?

Week 12 - Information Systems How useful are the systems you deal with every day? ● ● ●

Transport? Banking? Sydney Student?

Information Systems is the study of people and organisations in order to determine and deliver solutions that meet their technological needs. ● ●

People and organisations –human facing Determine and deliver –analysis, design, development, implementation, management



Meet technological needs – measurement of success of an Information System, optimisation of productivity and efficiency

What makes up an Information System: ● ● ● ● ● ●

Hardware Software Data (and databases) Communication network People Process

Development: ●

Mainframes, PCs, Client-Server, WWW … multiple devices, cloud computing

Information Systems vs Computer Science ● ● ●

Computer Science is about developing software technologies to solve problems Information Systems is about making computer systems work to optimise the productivity and efficiency of organisations “Business perspective”

Learning Outcomes ● ● ● ● ● ● ● ● ● ●

Students who graduate from Information Systems will be able to: Develop a good understanding of the broader socio-technical systems in which the computer and communications systems are embedded. Carry out detailed information requirements analyses to elicit system requirements Develop the skills to design and implement information systems Have a thorough understanding of the challenges in implementing inf...


Similar Free PDFs