程序代写案例-INFO1111
时间:2022-04-11
StuDocu is not sponsored or endorsed by any college or university
INFO1111 Full Summary
Computing 1A Professionalism (University of Sydney)
Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
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; …)
Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
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.


Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
Week 3
Communication
Transmission Models - eg. texting someone

Interaction Model - eg. Conversation in a car

Transaction Model - Lecture


Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
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



Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
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.
Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995

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.
Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
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
Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
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
Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
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
Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
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
Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
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.
Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
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
Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
● 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
Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
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; …
Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
Software Development: Key Concepts
Process
Requirements / Analysis / Specifications

Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
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)
Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995

Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
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

Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
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
Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
● 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 information systems
● Have the skills and capabilities to plan and manage information systems projects
● Acquire the ability to work effectively in teams and to communicate with the diverse
stakeholders
● Have sound knowledge of, and the skills to apply, a range of system development
methods
● Be equipped with applied research skills, which will enable them to undertake a wide
range of investigations
● Learn how to acquire the relevant data and to analyse the data to arrive at valid
inferences.

Downloaded by Lavender (lishutong0613@gmail.com)
lOMoARcPSD|5407995
essay、essay代写