Home / python string in list / Rationale - senior-secondary.scsa.wa.edu.au
-3076575bottom00Computer ScienceATAR courseYear 12 syllabus Acknowledgement of CountryKaya. The School Curriculum and Standards Authority (the Authority) acknowledges that our offices are on Whadjuk Noongar boodjar and that we deliver our services on the country of many traditional custodians and language groups throughout Western Australia. The Authority acknowledges the traditional custodians throughout Western Australia and their continuing connection to land, waters and community. We offer our respect to Elders past and present.IMPORTANT INFORMATIONThis syllabus is effective from 1 January 2024.Syllabuses are formally reviewed by the School Curriculum and Standards Authority on a cyclical basis, typically every five years.Copyright? School Curriculum and Standards Authority, 2022This document – apart from any third party copyright material contained in it – may be freely copied, or communicated on an intranet, for non-commercial purposes in educational institutions, provided that the School Curriculum and Standards Authority is acknowledged as the copyright owner, and that the Authority’s moral rights are not infringed.Copying or communication for any other purpose can be done only within the terms of the Copyright Act 1968 or with prior written permission of the School Curriculum and Standards Authority. Copying or communication of any third party copyright material can be done only within the terms of the Copyright Act 1968 or with permission of the copyright owners.Any content in this document that has been derived from the Australian Curriculum may be used under the terms of the Creative Commons Attribution 4.0 International licence.DisclaimerAny resources such as texts, websites and so on that may be referred to in this document are provided as examples of resources that teachers can use to support their learning programs. Their inclusion does not imply that they are mandatory or that they are the only resources relevant to the course.Content TOC \o "1-2" \h \z \u Rationale PAGEREF _Toc112064896 \h 1Course Aims PAGEREF _Toc112064897 \h 2Organisation PAGEREF _Toc112064898 \h 3Structure of the syllabus PAGEREF _Toc112064899 \h 3Organisation of content PAGEREF _Toc112064900 \h 4Representation of the general capabilities PAGEREF _Toc112064901 \h 5Representation of the cross-curriculum priorities PAGEREF _Toc112064902 \h 8Unit 3 – Design and development of programming and networking solutions PAGEREF _Toc112064903 \h 9Unit description PAGEREF _Toc112064904 \h 9Unit content PAGEREF _Toc112064905 \h 9Unit 4 – Design and development of database solutions and cyber security considerations PAGEREF _Toc112064906 \h 17Unit description PAGEREF _Toc112064907 \h 17Unit content PAGEREF _Toc112064908 \h 17Assessment PAGEREF _Toc112064909 \h 22School-based assessment PAGEREF _Toc112064910 \h 22Reporting PAGEREF _Toc112064911 \h 25ATAR course examination PAGEREF _Toc112064912 \h 26Examination design brief – Year 12 PAGEREF _Toc112064913 \h 27Appendix 1 – Grade descriptions Year 12 (provisional) PAGEREF _Toc112064914 \h 28RationaleThe Computer Science ATAR course builds on the core principles, concepts and skills developed in the Digital Technologies subject in previous years. Students utilise and enhance established analysis and algorithm design skills to create innovative digital solutions to real-world problems. In the process, students develop computational, algorithmic and systems thinking skills which can be successfully applied to problems across domains outside Information Technology. In addition to the development of software, the essential concepts of networking, data management and cyber security are explored. With the vast amounts of data collected in our increasingly digital world, especially in the information-intensive business and scientific disciplines, data management is becoming essential. Similarly, with more and more devices connecting to the internet, cyber security is a major issue for society and the world continues to look for new, young experts to emerge in this field.Ethical considerations, security requirements and legal factors affect society as a whole and their influence and impact on the development of digital solutions are explored.This course provides students with options in a range of post-school pathways. The course has been designed to meet the expectations of tertiary institutions and students will be well prepared for further study in university and TAFE courses. It provides a sound understanding of computer science to support students pursuing further studies and employment in other areas, including Science, Technology, Engineering, Mathematics and Business, all of which are underpinned and driven by advances in Computer Science.Course AimsThe Computer Science ATAR course aims to develop students’:skills indesigning, maintaining, adapting and producing relational databases and digital solutionssolving problems through the use of algorithms, data structures and programming languages assessing cybersecurity issues within a digital environment to apply appropriate responsesunderstanding of the design, application and interactions of data and software in digital systems through the creation and maintenance of relational databases, network data transmission and programming constructsunderstanding of how to apply a technology process accurately to develop a digital solutionunderstanding of the interrelationships between the development and use of digital solutions, for individuals and societies in relation to the legal and ethical implications of software design, data management and cyber threats.OrganisationThis course is organised into a Year 11 syllabus and a Year 12 syllabus. The cognitive complexity of the syllabus content increases from Year 11 to Year 12.Structure of the syllabusThe Year 12 syllabus is divided into two units which are delivered as a pair. The notional time for the pair of units is 110 class contact hours.Each unit includes:a unit description – a short description of the purpose of the unitunit content – the content to be taught and learned.Technology ProcessA major focus of the course is the creation of systems and digital solutions to specific problems. In creating solutions, it is expected that students will use a structured development process to guide their approach. This development process is iterative in nature and involves four phases – investigating the problem, developing ideas and designing a solution, developing a solution and evaluating the effectiveness of the solution.Investigate: students will define the problem. They will deconstruct the problem and develop a set of criteria that can be used to design and evaluate a solution to the problem.Design: students will use the criteria they developed in their investigation to design a suitable digital solution to the problem they have defined.Develop: students will use their programming and database skills to develop a suitable digital solution that will meet the criteria they have established to solve the problem.Evaluate: students will evaluate the effectiveness of their solution in solving the problem that they defined during their analysis. This will allow students to refine their ideas and make partial or minor changes to their solution to improve the user experience and/or the technical quality of their solution.Unit 3 – Design and development of programming and networking solutions In this unit, students gain knowledge and skills to create software solutions. They use algorithms, structured programming and object-oriented techniques to design and implement software solutions for a range of problems. They consider the complex interactions between users, developers, the law, ethics and society when computer systems are used and developed. Students learn about network communications and the transfer of data through a network.Unit 4 – Design and development of database solutions and cyber security considerationsIn this unit, students learn about the design concepts and tools used to develop relational database systems. Students gain knowledge and skills to create database solutions and create queries to extract relevant information. Students consider the security of network communications, exploring a range of threats and measures used to keep networks secure. Students examine attitudes and values involved in the creation and use of computer-based systems, and their effect on society. They examine the ethical and legal obligations of the user and developer in the collection and storage of data. Organisation of contentThe unit content includes both theoretical aspects (Knowledge) and practical aspects (Skills).The course is divided into four content areas.Unit 3 is divided into two content areas:ProgrammingNetwork communications.Unit 4 is divided into two content areas:Cyber securityData management.ProgrammingStudents develop solutions to specific problems using both pseudocode and a programming language. They examine the use of various simple and complex data types with the basic constructs of sequence, selection and iteration. Complex problems are analysed and broken down into small, self-contained units for which students create functions with parameter passing. In this unit, students consider good programming practices and the suitability of an algorithm, including comparing common sort and search algorithms. The application of object-oriented programming to develop working software solutions is studied.Network communicationsStudents explore the communication models and protocols underpinning the transfer of data in local networks and the internet. They explore the purpose of layers of a network and the components that operate within them, taking into account factors that affect the design of the network. They investigate design and creation of secure and efficient networks.Cyber securityStudents explore the security of network communications by looking at internal and external threats to a network and potential solutions to those threats. They examine methods of keeping network communications secure over an open connection, such as the internet. The legal requirements and ethical responsibilities of developers, organisations and penetration testers are considered with respect to the management of data and networks. Data managementStudents examine the organisation of data into separate entities using a relational database and the process of normalisation. They explore various methods of representing and organising data and develop a working database solution using SQL. They consider legal and ethical responsibilities with regards to the collection and storage of data.Programming languagesPython is the prescribed programming language for the Computer Science ATAR course and will be used in ATAR examination questions related to programming. In school based assessments, schools may choose to also use an object-oriented programming language of their choice for the:development of a purpose-designed software solutiondesign, creation, modification, testing, evaluation and documentation of programswriting, interpretation, testing and debugging of codeuse and development of a user interfaceuse of control structures, including sequence, selection and iterationconstruction and use of data structures, including arrays and dictionariesdesign and implement data validation techniquesapplication of structured programming methods using modularisation.There is no requirement within this course to create a graphical user interface.Database management systemsThere is no prescribed database management system for the Computer Science ATAR course, but SQLite is recommended. If an alternative to SQLite is chosen, it must meet the assessment requirements for this syllabus that students are required to use a database management system (DBMS) that enables the:development of a purpose-designed database solutiondesign, creation, modification, testing and evaluation of a database solutioncreation of tables and queries.Note: the course does not require the development of a graphical user interface for the database system, although some method of allowing the user to interact with the database is required.The database management systems should provide the student with opportunity to:create a working relational databaseconstruct simple queries using SQL within one or two tablesconstruct queries across multiple tables using a database tool.Representation of the general capabilitiesThe general capabilities encompass the knowledge, skills, behaviours and dispositions that will assist students to live and work successfully in the twenty-first century. Teachers may find opportunities to incorporate the capabilities into the teaching and learning program for Computer Science. The general capabilities are not assessed unless they are identified within the specified unit content.LiteracyStudents become literate as they develop the knowledge, skills and dispositions to interpret and use language confidently for learning and communicating in and out of school and for participating effectively in society. Literacy involves students listening to, reading, viewing, speaking, writing and creating oral, print, visual and digital texts, and using and modifying language for different purposes in a range of contexts.In the Computer Science ATAR course, students develop literacy capability as they learn how to communicate ideas, concepts and detailed proposals to a variety of audiences; recognise how language can be used to manipulate meaning; and read and interpret detailed written instructions. They learn to understand and use language to discuss and communicate information, concepts and ideas related to the course.By gaining literacy in the metalanguage of computer science, students understand that language varies according to context and they increase their ability to use language flexibly. Computer science vocabulary is often technical and includes specific terms for concepts, processes and production. Students learn to understand that much technological information is presented in the form of drawings, diagrams, flow charts, models, tables and graphs. They also learn the importance of listening and talking when learning about technologies processes, especially in articulating, questioning and evaluating ideas.NumeracyStudents become numerate as they develop the knowledge and skills to use mathematics confidently across other learning areas at school and in their lives more broadly. Numeracy involves students in recognising and understanding the role of mathematics in the world, and having the dispositions and capacities to use mathematical knowledge and skills purposefully.In the Computer Science ATAR course, students work with the concepts of number, geometry, scale and proportion. They use models, create accurate technical drawings, work with digital models and use computational thinking in decision-making processes when designing and creating best-fit solutions.Information and communication technology capabilityStudents develop information and communication technology (ICT) capability as they learn to use ICT effectively and appropriately to access, create and communicate information and ideas, solve problems and work collaboratively, and in their lives beyond school. The capability involves students in learning to make the most of the digital technologies available to them. They adapt to new ways of doing things as technologies evolve, and limit the risks to themselves and others in a digital environment.In the Computer Science ATAR course, students create solutions that consider social and environmental factors when operating digital systems with digital information. They develop an understanding of the characteristics of data, digital systems, audiences, procedures and computational thinking. They apply this understanding when they investigate, communicate and create purpose-designed digital solutions. Students learn to formulate problems, logically organise and analyse data and represent it in abstract forms. They automate solutions through algorithmic logic. Students decide the best combinations of data, procedures and human and physical resources to generate efficient and effective digital solutions.Critical and creative thinkingStudents develop capability in critical and creative thinking as they learn to generate and evaluate knowledge, clarify concepts and ideas, seek possibilities, consider alternatives and solve problems. Critical and creative thinking is integral to activities that require students to think broadly and deeply using skills, behaviours and dispositions, such as reason, logic, resourcefulness, imagination and innovation in all learning areas at school and in their lives beyond school.In the Computer Science ATAR course, students develop capability in critical and creative thinking as they imagine, generate, develop, produce and critically evaluate ideas. They develop reasoning and the capacity for abstraction through challenging problems that do not have straightforward solutions. Students analyse problems, refine concepts and reflect on the decision-making process by engaging in systems, design and computational thinking. They identify, explore and clarify technologies, information and use that knowledge in a range of situations. Students think critically and creatively. They consider how data and information systems impact on our lives and how these elements might be better designed and managed.Personal and social capabilityStudents develop personal and social capability as they learn to understand themselves and others, and manage their relationships, lives, work and learning more effectively. The capability involves students in a range of practices, including recognising and regulating emotions, developing empathy for others and understanding relationships, establishing and building positive relationships, making responsible decisions, working effectively in teams, handling challenging situations constructively and developing leadership skills.In the Computer Science ATAR course, students develop personal and social capability as they engage in project management and development in a collaborative workspace. They direct their own learning, plan and carry out investigations, and become independent learners who can apply design thinking, technologies understanding and skills when making decisions. Students develop social and employability skills through working cooperatively in teams, sharing resources, tools, equipment and processes, making group decisions, resolving conflict and showing leadership. Designing and innovating involve a degree of risk-taking and as students work with the uncertainty of sharing new ideas they develop resilience.The Computer Science ATAR course enhances students’ personal and social capability by developing their social awareness. Students develop understanding of diversity by researching and identifying user needs. They develop social responsibility through the understanding of empathy with and respect for others.Ethical understandingStudents develop ethical understanding as they identify and investigate concepts, values, character traits and principles, and understand how reasoning can help ethical judgement. Ethical understanding involves students in building a strong personal and socially oriented, ethical outlook that helps them to manage context, conflict and uncertainty, and to develop an awareness of the influence that their values and behaviour have on others.In the Computer Science ATAR course, students develop the capacity to understand and apply ethical and socially responsible principles when collaborating with others and creating, sharing and using technologies, data, processes, tools and equipment. In this course, students consider their own roles and responsibilities as discerning citizens, and learn to detect bias and inaccuracies. Understanding the protection of data, intellectual property and individual privacy in the school environment helps students to be ethical digital citizens.Intercultural understandingStudents develop intercultural understanding as they learn to value their own cultures, languages and beliefs, and those of others. They come to understand how personal, group and national identities are shaped, and the variable and changing nature of culture. The capability involves students in learning about and engaging with diverse cultures in ways that recognise commonalities and differences, create connections with others and cultivate mutual respect.In the Computer Science ATAR course, students consider how technologies are used in diverse communities at local, national, regional and global levels, including their impact and potential to transform people’s lives. They explore ways in which past and present practices enable people to use technologies to interact with one another across cultural boundaries.Representation of the cross-curriculum prioritiesThe cross-curriculum priorities address contemporary issues which students face in a globalised world. Teachers may find opportunities to incorporate the priorities into the teaching and learning program for the Computer Science ATAR course. The cross-curriculum priorities are not assessed unless they are identified within the specified unit content.Aboriginal and Torres Strait Islander histories and culturesThe Computer Science ATAR course may provide opportunities for students to explore creative, engaging and diverse learning contexts for students to value and appreciate the contribution by the world’s oldest continuous living cultures to past, present and emerging technologies.Asia and Australia’s engagement with AsiaThe Computer Science ATAR course may provide opportunities for students to explore contemporary and emerging technological achievements that the Asia and Pacific regions have made, and continue to make, to global technological advances, including: innovation in hardware and software design and development; the regions’ role in outsourcing of information and communications technology (ICT) services; and globalisation. Students could also consider the contribution of Australia’s contemporary and emerging technological achievements to the Asia and Pacific Regions.SustainabilityThe Computer Science ATAR course may provide opportunities for students, within authentic contexts, to choose and evaluate digital technologies and information systems with regard to risks and opportunities they present. They may also evaluate the extent to which digital solutions can embrace and promote sustainable practices.Unit 3 – Design and development of programming and networking solutionsUnit descriptionIn this unit, students gain knowledge and skills to create software solutions. They use algorithms and structured programming and object-oriented techniques to design and implement software solutions for a range of problems. They consider the complex interactions between users, developers, the law, ethics and society when computer systems are used and developed. Students learn about network communications and the transfer of data through a network.A major focus of the course is the creation of systems and digital solutions to specific problems. In creating solutions, it is expected that students will use a structured development process to guide their approach. This development process is iterative in nature and involved four phases – investigating the problem, developing ideas and designing a solution, developing a solution and evaluating the effectiveness of the solution.Unit contentAn understanding of the Year 11 content is assumed knowledge for students in Year 12. It is recommended that students studying Unit 3 and Unit 4 have completed Unit 1 and Unit 2.This unit includes the knowledge, understandings and skills described below. This is the examinable content.The unit content includes theoretical aspects (Knowledge) and practical aspects (Skills) and these are organised into two content areas:ProgrammingNetwork communications.ProgrammingProgramming skills and conceptsKnowledgeprogram control structures, including:sequenceselection iterationpost-testpre-test characteristics of data types used in solutions, including:integerfloat stringBooleancharacteristics of the following data structures:arraysone-dimensional arraystwo-dimensional arraysdictionariesSkillsapply, using pseudocode and a programming language, program control structures in solutionsapply, using pseudocode and a programming language, data types used in solutions as variablesreading and writing of complex logical expressions, including:Boolean operators (AND, OR, NOT)logical order of precedenceapply, using pseudocode and a programming language, the following data structures:arraysone-dimensional arraystwo-dimensional arraysdictionariesGood programming practiceKnowledgeFramework for developmentinvestigateproblem descriptiondefine requirementsdevelopment scheduledesigndesign data structuresdesign and test algorithmdevelopdevelop and debug codeunit testing and use of live dataevaluateuser acceptance testingdeveloper retrospectivecompare common development processeslinear iterative good programming practice, including:validate input before processinga clear and uncluttered mainline one logical task per subroutine use of stubs appropriate use of control structures and data structures writing for subsequent maintenanceversion control regular backuprecognition of relevant social and ethical issuesexception handlingfunctions are able to return a single data structure or valueSkillsapply common development processesapply good programming practice when developing a software solution, including:validate input before processinga clear and uncluttered mainlineone logical task per subroutineuse of stubsappropriate use of control structures and data structureswriting for subsequent maintenanceversion controlregular backuprecognition of relevant social and ethical issuesexception handlingfunctions return a single data structure or valueStructured algorithmsKnowledgeeffective structure of codeuse of a modular approach, including functions and classesuse of stubs to represent incomplete modulesparameter passing comparison of common algorithmsBig O notation to compare algorithm efficiencysearch algorithmslinear searchbinary searchsort algorithmsbubble sortinsertion sortselection sortSkillsuse pseudocode and/or programming language for representing algorithmscreate code with effective structureuse of a modular approach, including functions and classesparameter passinguse of stubs to represent incomplete functions TestingKnowledgeacceptance testing of functional requirements based on user needsthe use of live test data to ensure that testing accurately reflects the expected environment in which the new system will operate large file sizes mix of transaction types response times volume of data (load testing) validation of the solution with the design specificationsgenerating relevant test data for complex solutions comparison of actual with expected output unit tests to ensure code performs correctlySkillscomparison of the solution with the design specificationsgenerating relevant test data for complex solutions comparison of actual with expected output Error detection and debugging codeKnowledgethe process of detecting and correcting errors, including:types of errorsyntax errorslogic errorsruntime errors, including:arithmetic overflowdivision by zeroindex out of rangemethods of error detection and correctionmethodical approach to the isolation of logic errorsuse of debugging techniquesbreakpointsprint statementsdesk checking (trace tables)comparison of actual with expected outputSkillsdetecting and correcting errors, including:types of errorsyntax errorslogic errorsruntime errors, including:arithmetic overflowdivision by zeroindex out of rangemethodical approach to the isolation of errorsuse of debugging techniquesdesk checking (trace tables)comparison of actual with expected outputObject-oriented programmingKnowledgecharacteristics of the following object-oriented concepts: classes objects attributes methods/operations abstraction and polymorphisminstantiation inheritance encapsulationSkillsapply, using pseudocode and programming language, object-oriented programming concepts, including: classesobjectsattributesmethods/operationsabstractioninstantiationinheritanceuse an object-oriented programming language to:create classes and objects with attributes and methodsinstantiate objectsuse inheritance to extend classesuse variables and control structures within objectsEthical and legal implications for developers of softwareKnowledgeimpacts of software in society, including:computer malware, such as virusesreliance on softwaresocial networkingcyber safetylarge volumes of information (which may be unsupported, unverifiable, misleading or incorrect) available through the internetrights and responsibilities of software developersacknowledging the intellectual property of othersrecognition by others of the developer’s intellectual propertyproducing quality software solutionsappropriately responding to user-identified problemsadhering to code of conductneither generating nor transmitting malwareaddressing ergonomic issues in software designensuring software addresses inclusivity issuesensuring individuals’ privacy is not compromisedconcepts associated with piracy and copyright law in relation to software development in Australia Network communicationsModels of networkingKnowledgecomparison between the Open Systems Interconnection (OSI) Model and the Department of Defence (DoD) transmission control protocol/internet protocol (TCP/IP) model OSI model:purpose of OSI modellayers of OSI modelrole of layers within the modelMAC address layer 2 switchingIP address layer 3 routingDoD TCP/IP model:purpose of DoD modellayers of DoD modelapplicationtransportinternetnetworkrole of layers within the modelkey protocols and devices associated with layers in models user datagram protocol (UDP)difference between UDP and TCPcompare packet architecture between TCP and UDPfeatures of TCP/IP IPv4 vs IPv6IP Addressingsubnet masksprivate vs public IP addressingsubnettingdomain name system (DNS)portspacket architecture datasegmentpacketframebitsSkillsidentify, design and apply IP addressing scheme identify, design and apply subnet masks Network componentsKnowledgerole of components at different network layers transmission mediaroutergatewayswitchwireless access pointfirewallsNetwork performanceKnowledgenetwork design topology for security and performancebandwidthmapping networks using diagrams including intermediary and end devicessubnetting and collision domains (segmentation)tools for network performance management and troubleshootingpingtracerouteSkillsuse ping and traceroute to troubleshoot and evaluate network performanceinterpret and create network diagrams using specified CISCO conventions to represent network topologies, considering addressing, subnets, segmentation, security and performance Unit 4 – Design and development of database solutions and cyber security considerationsUnit descriptionIn this unit, students learn about the design concepts and tools used to develop relational database systems. Students gain skills to create database solutions and create queries to extract relevant information. Students consider the security of network communications, considering a range of threats and measures used to keep networks secure. Students examine attitudes and values that lead to the creation and use of computer-based systems and their effect on society. They examine the ethical and legal obligations of the user and developer in the collection and storage of data. This unit focuses on the creation of database systems. Students are expected to follow the technology process in order to produce quality products. The process includes four steps; investigate, design, produce and evaluate. This process is essential for the creation of solutions in the Computer Science course.Unit contentThis unit builds on the content covered in Unit 3.This unit includes the knowledge, understandings and skills described below. This is the examinable content.The unit content includes theoretical aspects (Knowledge) and practical aspects (Skills) and these are organised into two content areas:Cyber securityData management.Cyber securityEthics and LawKnowledgethe Privacy Act 1988 as it relates to data security Australian Privacy Principle 11 (APP11)the Privacy Amendment (Notifiable Data Breaches) Act 2017Skillsapply theoretical ethics and law knowledge using supplied case studies Network threatsKnowledgeexternal network threatssocial engineering (phishing)denial of service, including distributed denial of serviceback doorIP spoofingSQL Injectionman-in-the-middlecross-site scriptingtypes of malware physical network threatszero day vulnerabilitiesinternal network threatslost or stolen devicescompromised credentials misuse by employeessecurity solutions to network threatsanalysis of log filesanti-malwarefirewall filteringaccess control listsintrusion prevention systemsvirtual private networksuser trainingICT code of conductphysical securityappropriate solutions to different external network threatsSkillsidentify network security threats and suggest solutions for a given stimulus (mitigation strategies)CryptographyKnowledgesymmetric encryptionasymmetric encryption (public/private keys)certificate purpose and use use of asymmetric encryption to:prevent unauthorised access to dataauthenticate data being sent across networksecure communication over the internetuse of asymmetric encryption to establish connection and symmetric encryption to exchange datacommon methods of encryption:early methods and weaknesses current best practice Ethical HackingKnowledgerole of ethical hacking in improving network securitypenetration testing: role of blue team vs red teamData ManagementCore conceptsKnowledgeorganisation of a relational database:entitiesattributesrelationshipsone-to-oneone-to-manymany-to-manytables as the implementation of entities, consisting of fields and recordsdata typesintegerfloatBooleantext dateprimary and foreign keys to link tablescomposite keydata anomaliesinsertupdatedeletehow databases interact with other systems and link to the programming contentopen database connectivityrole of ACID in database transactions – atomicity, consistency, isolation, durability Data modelling Knowledgepurpose of database documentation for the developersdata dictionaryentity relationship (ER) diagrams using crow’s foot notation Skillsanalyse ER diagrams written in crow’s foot notation (three to 10 tables)create accurate ER diagrams using crow’s foot notation (three to eight tables)represent databases using relational notation create data dictionaries resolve many to many (M:N) relationshipsData integrityKnowledgedata integrityreferential integritydomain integrityentity integrityfactors influencing quality of data, including:currencyauthenticityrelevanceaccuracyoutliers (cleaning)NormalisationKnowledgepurpose of normalising data to third normal form (3NF)rules of 1NFrules of 2NFrules of 3NFknow the process to normalise data to 3NFSkillsapply the process to normalise data to 3NF using relational notation Database creation and manipulationKnowledgeknow techniques to retrieve required information through querying data sets, including:searching, sorting and filtering to identify relationships and patternscleaning and manipulating data sets to import required data into a databaseSkillsuse a relational database management system (RDBMS) to create and manipulate a relational database with a minimum of five tables.use SQL to create, modify and manipulate a database including:CREATE and MODIFY tables, including:use of constraints to ensure validity of dataenforcing referential integrityDROPSELECTINSERTUPDATEDELETE, including cascading deletesaggregate functions (COUNT, SUM, AVG, MAX, MIN)ORDER BYinner join across multiple tables (up to 4 tables)GROUP BY (with aggregate functions)calculated fieldsconcatenated fieldsuse of aliases with calculated and concatenated fieldsapply techniques to retrieve required information through querying data sets, including:searching, sorting and filtering to identify relationships and patternscleaning and manipulating data sets to import required data into a databaseDevelopment issuesKnowledgeethical issuescollecting data about individualsprivacy concernsappropriate use of datareliability of data sourcesacknowledgement of data sourcesuse of data miningsecurity issueskeeping personal data privatebackups of organisational datarestricting access to dataownership and control of datalegal issuesAustralian privacy law in relation to database development Australian Privacy Principles (APP5, APP8, APP10, APP11, APP12)AssessmentAssessment is an integral part of teaching and learning that at the senior secondary years:provides evidence of student achievementidentifies opportunities for further learningconnects to the standards described for the coursecontributes to the recognition of student achievement.Assessment for learning (formative) and assessment of learning (summative) enable teachers to gather evidence to support students and make judgements about student achievement. These are not necessarily discrete approaches and may be used individually or together, and formally or informally.Formative assessment involves a range of informal and formal assessment procedures used by teachers during the learning process in order to improve student achievement and to guide teaching and learning activities. It often involves qualitative feedback (rather than scores) for both students and teachers, which focuses on the details of specific knowledge and skills that are being learnt. Summative assessment involves assessment procedures that aim to determine students’ learning at a particular time, for example when reporting against the standards, after completion of a unit/s. These assessments should be limited in number and made clear to students through the assessment outline.Appropriate assessment of student work in this course is underpinned by reference to the set of predetermined course standards. These standards describe the level of achievement required to achieve each grade, from A to E. Teachers use these standards to determine how well a student has demonstrated their learning.Where relevant, higher order cognitive skills (e.g. application, analysis, evaluation and synthesis) and the general capabilities should be included in the assessment of student achievement in this course. All assessment should be consistent with the requirements identified in the course assessment table. Assessment should not generate workload and/or stress that, under fair and reasonable circumstances, would unduly diminish the performance of students.School-based assessmentThe Western Australian Certificate of Education (WACE) Manual contains essential information on principles, policies and procedures for school-based assessment that must be read in conjunction with this syllabus.School-based assessment involves teachers gathering, describing and quantifying information about student achievement. Teachers design school-based assessment tasks to meet the needs of students. As outlined in the WACE Manual, school-based assessment of student achievement in this course must be based on the Principles of Assessment:Assessment is an integral part of teaching and learningAssessment should be educativeAssessment should be fairAssessment should be designed to meet its specific purpose/sAssessment should lead to informative reportingAssessment should lead to school-wide evaluation processesAssessment should provide significant data for improvement of teaching practices.Summative assessments in this course must:be no more than 8 tasks in totalallow for the assessment of each assessment type at least once for each unit in the unit pair have a minimum value of 5 per cent weighting of the total school assessment markprovide a representative sampling of the syllabus content.Assessment tasks not administered under test or controlled conditions require appropriate authentication processes. Assessment table – Year 12Type of assessmentWeightingProjectThe student is required to develop a database and/or software solution by using a structured development process. Students use the skills and theory covered in this course to create working solutions based on provided stimulus materials. Software solutions should make use of objectoriented programming techniques. Database solutions should make use of SQL to create and manipulate a relational database system.Stimulus material can include: diagrams; extracts from newspapers and/or journal articles; data dictionaries; structure charts; trace tables; algorithms and/or algorithm segments (in pseudocode); and/or screen captures or representations of databases and programs. Diagrams can include: entity relationship diagrams, computer system diagrams, and/or network diagrams.The student is required to research ideas; implement a database and/or software system using a relational database management system and/or programming language; explore, develop and evaluate solutions; and manage processes throughout production to produce solutions.Projects should be open-ended in nature to give students the opportunity to apply a structured development process. The project should require students to investigate and deconstruct a problem, design a suitable solution to the problem, develop a solution based on their design and evaluate the effectiveness of their final product. Teachers are encouraged to interrelate topics such as programming and databases where possible to create authentic problems requiring a solution.40%Theory testTests typically consist of a combination of questions requiring short and extended answers.Short answer questions can be a mix of closed and open items that can be scaffolded or sectionalised. The student can be required to: explain concepts, apply knowledge, analyse and/or interpret data and/or refer to stimulus material.Stimulus material can include: diagrams; extracts from newspaper and/or journal articles; data dictionaries; structure charts; trace tables; algorithms and/or algorithm segments (in pseudocode); and/or screen captures or representations of databases and programs. Diagrams can include: entity relationship diagrams and/or network diagrams.Extended answer questions can be a mix of closed and open items that can be scaffolded or sectionalised, typically with an increasing level of complexity. The student can be required to apply knowledge and/or critical thinking skills; analyse and/or interpret data, extended algorithms, relational databases, tables and/or diagrams; devise labelled diagrams, and/or solutions (or parts of solutions). Some questions can require the student to refer to stimulus material.Stimulus material can include: diagrams; extracts from newspaper and/or journal articles; data dictionaries; structure charts; trace tables; algorithms and/or algorithm segments (in pseudocode); and/or screen captures or representations of databases and programs. Diagrams can include: entity relationship diagrams and/or network diagrams.10%Practical testTests typically consist of a set of questions developing and implementing solutions requiring the use of a programming language and/or a relational database management system to meet specified requirements.Programming skills assessed could include: writing code; and/or compiling, testing and/or debugging program code, and/or use object-oriented programming principles to create classes and objects with attributes and methods.Database skills assessed could include: creating and implementing schema, joining tables, applying aggregate functions, ordering and grouping using structured queried language.10%ExaminationTypically conducted at the end of each semester and/or unit and reflecting the examination design brief for this syllabus.40%Teachers must use the assessment table to develop an assessment outline for the pair of units.The assessment outline must:include a set of assessment tasksinclude a general description of each taskindicate the unit content to be assessedindicate a weighting for each task and each assessment typeinclude the approximate timing of each task (for example, the week the task is conducted, or the issue and submission dates for an extended task).In the assessment outline for the pair of units, each assessment type must be included at least twice, with the exception of Project, which could be a combined task based on both units.The set of assessment tasks must provide a representative sampling of the content for Unit 3 and Unit 4.Assessment tasks not administered under test/controlled conditions require appropriate validation/authentication processes.Reporting Schools report student achievement, underpinned by a set of pre-determined standards in terms of the following grades:GradeInterpretationAExcellent achievementBHigh achievementCSatisfactory achievementDLimited achievementEVery low achievementThe grade descriptions for the Computer Science ATAR Year?12 syllabus are provided in Appendix 1. They are used to support the allocation of a grade. They can also be accessed, together with annotated work samples, on the course page of the Authority website (www.scsa.wa.edu.au).To be assigned a grade, a student must have had the opportunity to complete the education program, including the assessment program (unless the school accepts that there are exceptional and justifiable circumstances).Refer to the WACE Manual for further information about the use of a ranked list in the process of assigning grades.The grade is determined by reference to the standard, not allocated on the basis of a pre-determined range of marks (cut-offs).ATAR course examinationAll students enrolled in the Computer Science ATAR Year 12 course are required to sit the ATAR course examination. The examination is based on a representative sampling of the content for Unit 3 and Unit 4. Details of the ATAR course examination are prescribed in the examination design brief on the following page.Refer to the WACE Manual for further information.Examination design brief – Year 12Time allowedReading time before commencing work: ten minutesWorking time for paper: three hoursPermissible itemsStandard items: pens (blue/black preferred), pencils (including coloured), sharpener, correction fluid/tape, eraser, ruler, highlightersSpecial items: up to three calculators, which do not have the capacity to create or store programmes or text, are permitted in this ATAR course examination, Mathomat and/or Mathaid and/or any system flowchart templateProvided by the supervisorA source booklet containing stimulus materialSectionSupporting informationSection OneShort answer40% of the total examination20–30 questionsSuggested working time: 70 minutesQuestions can be a mix of closed and open items that can be scaffolded or sectionalised.The candidate can be required to: explain concepts, apply knowledge, analyse and/or interpret data. Some questions can require the candidate to refer to stimulus material.Stimulus material can include: diagrams; extracts from newspaper and/or journal articles; data dictionaries; trace tables; algorithms and/or algorithm segments (in pseudocode); and/or screen captures or representations of databases and programs.Diagrams can include: entity relationship diagrams and/or network diagrams.Section TwoExtended answer60% of the total examination4–6 questionsSuggested working time: 110 minutesQuestions can be a mix of closed and open items that can be scaffolded or sectionalised, typically with an increasing level of complexity.The candidate can be required to: explain concepts; apply critical thinking skills; analyse and/or interpret complex data, extended algorithms, relational databases, tables and/or diagrams; and/or solutions (or parts of solutions); and/or refer to a case study. Some questions can require the candidate to refer to stimulus materials.Stimulus material can include: diagrams; extracts from newspaper and/or journal articles; data dictionaries; trace tables; algorithms and/or algorithm segments (in pseudocode); and/or screen captures or representations of databases and programs.Diagrams can include: entity relationship diagrams and/or network diagrams.Appendix 1 – Grade descriptions Year 12 (provisional)AKnowledge and understandingAccurately uses computer science terminology to describe processes and concepts in context and with justification.Cyber security and networkingAnalyses different network threats, justifying appropriate and alternative security solutions where relevant. Successfully designs complex network diagrams, accurately applying correct conventions and connections. Justifies network design decisions and demonstrates an accurate consideration of network performance and security issues, presenting alternate solutions where relevant. Consistently and accurately interprets and analyses network diagrams.Data management skillsConsistently creates entity relationship diagrams accurately reflecting system requirements, and accurately representing relationships, cardinality, attributes, keys and diagrammatic conventions. Consistently and accurately applies normalisation to the third normal form to model a complex database solution. Consistently writes SQL queries to create functional multi-table relational databases, accurately reflecting relevant system requirements, consisting of appropriate relationships, keys and data types and using constraints to ensure data validity. Consistently and accurately uses SQL to create complex, functional queries across multiple tables, including the use of calculated fields, concatenated fields and aggregation.Programming skillsConsistently applies and justifies suitable methodology accurately to assist the software development process. Consistently designs and creates accurate and efficient pseudocode with appropriate use of standards and conventions. Consistently and accurately implements programming control structures in pseudocode and a programming language to develop efficient solutions that reflect software requirements, including sort and search algorithms. Consistently and accurately uses a range of appropriate data structures, including multidimensional arrays, to develop effective software solutions. Consistently and accurately uses effective object oriented and modular programming techniques, including parameter passing, inheritance, abstraction and encapsulation, to develop working software solutions that meet requirements. Uses a broad range of techniques to effectively test and debug software solutions using appropriate test data. Consistently and accurately implements data validation and desk checking techniques. Consistently and accurately explains ethical and legal issues and justifies the relevance to software development.BKnowledge and understandingAccurately uses computer science terminology to describe processes and concepts in context.Cyber security and networkingAnalyses different network threats and explains appropriate and alternative security solutions where relevant. Designs complex network diagrams applying correct conventions and connections. Explains network design decisions and demonstrates a consideration of network performance and security issues, and identifies alternate solutions where relevant. Consistently interprets and analyses network diagrams.Data management skillsCreates entity relationship diagrams reflecting system requirements, representing relationships, cardinality, attributes, keys and diagrammatic conventions. Applies normalisation to the third normal form to accurately model a complex database solution. Uses SQL to create functional multi-table relational databases reflecting relevant system requirements and consisting of appropriate relationships, keys and data types. Uses SQL to write queries across multiple tables to extract, insert and update relevant data with data validation. Uses calculated fields concatenated fields and aggregation to extract meaningful data from multiple tablesProgramming skillsConsistently applies and explains suitable methodology to assist the software development process. Consistently designs and creates pseudocode with appropriate use of standards and conventions. Implements programming control structures in pseudocode and a programming language to develop solutions that reflect software requirements, including sort and search algorithms. Consistently uses a range of data structures, including multi-dimensional arrays, to develop software solutions. Uses modular programming techniques, including parameter passing, to develop working software solutions that meet requirements. Uses object-oriented techniques, including inconsistent use of inheritance, abstraction and encapsulation, to develop working software solutions that meet requirements. Uses a range of techniques to effectively test and debug software solutions using appropriate test data. Consistently implements data validation and desk checking techniques. Consistently explains ethical and legal issues related to software development.CKnowledge and understandingUses computer science terminology, and describes processes and concepts.Cyber security and networkingDescribes different network threats and describes appropriate security solutions. Designs network diagrams using conventions and showing connections between devices. Describes network design decisions with limited consideration for network performance and security issues. Demonstrates limited interpretation and analysis of network diagrams.Data management skillsCreates entity relationship diagrams reflecting system requirements, inconsistently representing relationships, cardinality, attributes, keys and/or diagrammatic conventions. Applies normalisation to the third normal form to model a simple database solution. Uses SQL to write simple queries to extract, insert and update relevant data, attempting to use aggregate functions and extract data from multiple tables. Creates simple queries across multiple tables, with inconsistent use of calculated and concatenated fields.Programming skillsApplies and describes suitable methodology for software development. Designs and creates pseudocode with appropriate use of standards and conventions. Implements programming control structures in pseudocode and programming languages, which may include minor errors in logic and conventions, and partially reflects software requirements, including sort and search algorithms. Uses a range of data types and structures, such as multi-dimensional arrays, to develop software solutions. Uses modular programming techniques, including creating modules with parameter passing, and makes use of pre-existing objects to develop a working software solution. Demonstrates some use of good programming practices. Is able to test software design and solution, including selection of appropriate test data to identify and fix errors. Describes ethical and legal issues related to software developmentDKnowledge and understandingAttempts to use computer science terminology to describe processes and concepts.Cyber security and networkingIncorrectly lists different network threats, but identifies appropriate security solutions. Designs network diagrams using conventions and showing connections between devices, but with errors. Creates incomplete network design decisions with a lack of consideration for network performance and security issues. Attempts to interpret, but incorrectly analyses network diagrams in a limited fashion.Data management skillsCreates incomplete entity relationship diagrams, partially reflecting system requirements, including main entities and attributes, but with inaccurate key fields and relationships. Attempts to apply normalisation, incompletely modelling a simple database solution. Creates databases with limited functionality reflecting some aspects of system requirements. Unsuccessfully creates queries across multiple tables.Programming skillsInconsistently applies and describes suitable methodology to software development. Creates incomplete or inaccurate designs and creates pseudocode with appropriate use of standards and conventions. Inconsistently implements programming control structures in pseudocode and programming languages, which may include minor errors in logic and conventions and partially reflects software requirements, including sort and search algorithms. Inconsistently uses a range of data types and structures such as multidimensional arrays to develop software solutions. Uses incorrect or incomplete object-oriented and modular programming techniques, including parameter passing, to develop a working software solution. Identifies, although does not fix, errors. Demonstrates a limited understanding of ethical and legal issues related to software development.EDoes not meet the requirements of a D grade and/or has completed insufficient assessment tasks to be assigned a higher grade.Note: these grade descriptions will be reviewed at the end of the second year of implementation of this?syllabus.
How to separate string and number in Python list? Python String split () Method Definition and Usage. The split () method splits a string into a list. You can specify the separator, default separator is any whitespace. Syntax Parameter Values. Specifies the separator to use when splitting the string. Specifies how many splits to do. More Examples