콘텐츠로 건너뛰기

VCE Applied Computing: Software Development

VCE · VCAAComputer Science노트 46개, 폴더 4개, 313 KB

cookie가 만든 VCAA VCE Computer Science 복습 노트 46개예요. 과정의 주제에 따라 4개 섹션으로 구성돼요.

Notes for VCE Applied Computing: Software Development (VCAA, Units 3 and 4), in four folders that follow the study design in order: programming, analysis and design, development and evaluation, and secure software development practices. Code examples are in Python and pseudocode, and each note covers one topic. Delete any folder you have already finished once the notes are yours.

추가하면 아래 폴더와 함께 별도의 폴더에 사본이 내 노트로 저장돼요. 사본을 수정해 플래시카드나 문제 덱으로 만들 수 있어요. 다운로드하면 노트 앱에서 열 수 있는 마크다운 파일의 zip을 받을 수 있어요.

포함된 내용

  • Programming
    • Data types6 KB
    • Arrays and records5 KB
    • Data sources and files6 KB
    • Variables, constants and scope5 KB
    • Operators and control structures7 KB
    • Functions and methods6 KB
    • Principles of object-oriented programming6 KB
    • Classes and objects5 KB
    • Graphical user interfaces5 KB
    • Naming conventions5 KB
    • Validation and verification5 KB
    • Internal documentation5 KB
    • Searching6 KB
    • Sorting6 KB
    • Errors and debugging7 KB
    • Pseudocode5 KB
    • Artificial intelligence in programming7 KB
  • Analysis and design
    • The problem-solving methodology and thinking skills7 KB
    • Why software is developed, and the brief6 KB
    • Project management and Gantt charts7 KB
    • Collecting data for requirements8 KB
    • Requirements, constraints and scope7 KB
    • Context diagrams and data flow diagrams7 KB
    • Use case diagrams6 KB
    • The software requirements specification6 KB
    • Copyright and privacy law9 KB
    • File management techniques8 KB
    • Ideation and evaluation criteria8 KB
    • Design tools8 KB
    • User experience7 KB
    • Design principles for user interfaces7 KB
  • Development and evaluation
    • Efficient and effective solutions7 KB
    • Code repositories, APIs, libraries and AI assistants8 KB
    • Test data and testing tables7 KB
    • Alpha and beta testing7 KB
    • Evaluation strategies and criteria6 KB
    • Monitoring and assessing the project plan8 KB
  • Secure software development
    • Organisational goals and sourcing software7 KB
    • Threats, vulnerabilities and risks7 KB
    • Insecure development environments9 KB
    • Security controls for development8 KB
    • Threat modelling7 KB
    • Evaluating the security of development practices7 KB
    • Legislation and industry frameworks9 KB
    • Ethical issues in software development8 KB
    • Improving security practices9 KB

첫 번째 노트

Programming / Data types

A data type says what kind of value a variable holds and so which operations make sense on it. A program stores a person's name, their age, the price of an item, whether they are logged in and the day they enrolled in quite different ways, and choosing the right type for each one is the first design decision made about any piece of data. Most languages check types (or convert between them) whenever a value is assigned or used in an expression, which is why a wrong choice shows up later as a wrong answer or a crash.

The types a program commonly needs are text, numeric, date/time and Boolean.

Text

A character is a single symbol: a letter, digit, punctuation mark or space. A string is a sequence of characters, such as a name, an address or a postcode. Strings are the right type for anything that is identified by its symbols rather than calculated with, and that includes values made of digits.

A phone number, a postcode or a student ID should be stored as a string. Nobody adds two phone numbers together, and a number type would drop the leading zero from 0412 345 678, because an integer has no way of recording a leading zero. A string also keeps the spaces and the plus sign in +61 3 9123 4567.

Common string operations are concatenation (joining two strings), finding the length, extracting part of a string (a substring), changing case and comparing two strings.

first = "Mia"
last = "Chen"
full_name = first + " " + last        # "Mia Chen"
print(len(full_name))                 # 8
print(full_name[0:3])                 # "Mia"

Comparing strings is normally done character by character using the underlying character codes, so "apple" comes before "banana", and in most languages an upper-case letter sorts before any lower-case letter unless the comparison is told to ignore case.

Numeric types

Integer

An integer holds a whole number, positive, negative or zero, with no fractional part. It suits counts (the number of items in a cart), ages in years, array positions and anything that cannot be part-way between two values. Integer arithmetic is exact, so 7+57 + 5 is always exactly 12. In many languages dividing one integer by another discards the remainder, so 7/27 / 2 gives 3 in a language with integer division, while others return 3.5. A program should be written with the behaviour of its own language in mind, and the remainder (modulus) operator is used to keep what integer division throws away.

An integer stored in a fixed number of bits has a largest and smallest value. Going beyond it is an overflow error, covered with the other run-time errors.

Floating point

A floating point number (often called a float, real or double) holds a number that can have a fractional part, such as a price of 4.95, a temperature of 36.6 or a measurement of 1.82 metres. Floating point values are stored in binary, and many decimal fractions cannot be represented exactly in binary, so a result can differ very slightly from what the arithmetic suggests. In most languages 0.1+0.20.1 + 0.2 does not equal exactly 0.30.3. This is why programs avoid testing two floating point values for equality and compare them to within a small tolerance instead, and why money is often held as a whole number of cents rather than as a float.

ValueSuitable typeReason
Number of tickets bookedIntegerWhole items only
Weight of a parcel in kilogramsFloating pointCan be fractional
Price in dollars and centsFloating point, or integer centsFractional, but exactness matters
Year of birthIntegerWhole number, not used as text
Student ID 00482StringLeading zeros, never calculated with

Date/time

A date/time type stores a calendar date, a time of day or both. It is better than storing a date as text because the language then knows how calendars work. It can subtract one date from another to give a number of days, add 30 days to a due date and get the month right, sort dates in chronological order (text dates like "9/12/2025" sort wrongly), and check that a date is real (there is no 31 June).

from datetime import date

enrolled = date(2025, 3, 10)
today = date(2025, 9, 1)
days_enrolled = (today - enrolled).days      # 175

A date/time value is usually shown in a chosen format, such as DD/MM/YYYY, but the stored value is independent of how it is displayed. Keeping those two apart is what lets one program show Australian and American users the same date in the layout each expects.

Boolean

A Boolean holds one of two values, true or false. It records the outcome of a condition (is the password correct, is the stock level below the reorder point) or a yes/no property (has the user accepted the terms). A Boolean is what selection and repetition statements test, and it is the result of every comparison such as age≥18age \ge 18.

is_adult = age >= 18
has_stock = quantity > 0
can_buy = is_adult and has_stock

Naming a Boolean as a statement that is either true or false (is_adult, has_stock) makes the conditions that use it read almost as plain English.

Choosing a type

The choice follows from what will be done with the data, rather than what it looks like.

  • If it will be calculated with, use a numeric type, an integer when only whole values make sense and floating point when fractions are needed.
  • If it is an identifier, code or label, even one made of digits, use a string.
  • If dates need comparing, sorting or adding to, use date/time.
  • If it is one of exactly two states, use a Boolean.

A type also affects how much memory a value takes and how fast it can be processed, and it gives the first level of validation for free: a field declared as an integer cannot accept the text "twelve" without an error. That automatic rejection is the basis of type checking, which is covered with the other validation techniques.

Design documents record the choice in a data dictionary, where each data item is listed with its type, so the programmer can build exactly what was designed.

추가하거나 다운로드하면 45개가 더 있어요.

평가

아직 작성된 후기가 없어요. 이 노트를 내 노트에 추가하면 가장 먼저 후기를 남길 수 있어요.