Programming fundamentals Flashcards
What are the two types of development approaches covered in the course?
- Waterfall - formal, structured, all steps covered sequentially.
- Agile - responsive to changing requirements, involves regularly releasing working versions and gaining appropriate feedback.
What are some methods for determining the needs of a software project?
- Surveys to users and management
- Formal business analysis (this is the role of a systems analyst)
- Obvservation of users and current practices
- Interviews with users and management
What is the difference between needs and requirements?
Needs are general in nature, while requirements are more specific and should be verifiable, so that the final product can be tested against these requirements.
Compare and contrast functional and non-functional specifications
Functional specifications refer to what the system will do, including performance and compatibility.
Non-functional specifications can be considered from the developer’s and user’s perspective and include various aspects like documentation, project management, social and ethical considerations and user interface/experience.
What does the Integration stage refer to in the software development cycle?
Integration involves adding the new code in to the new system. Part of this process will involve the code being reviewed and tested to ensure compatibility with any existing code and other systems.
Code versioning systems like Git and the website GitHub allow developers to collaborate on coding project simultaneously.
What testing is required after a project has been integrated?
- Volume testing - to check whether the system can handle many requests.
- Transaction types - to simulate real-world usage by using a mixture of different transation types.
- Response times - to check whether the system processes data and responds to user interaction in a reasonable amount of time.
What does the Installation phase of the software development cycle refer to?
How the new software system will be adopted by users, either as a new system or as a replacement for an existing system. This involves:
* Training new users in the operation and processes associated with the system.
* Transitioning to the new system, as it may not be feasible to simply switch off the old system and start using the new one.
What activities are included in the maintenance stage of software development?
- Fixing bugs
- Adding new features
- Updating the user interface
- Supporting new hardware or software
What are the 4 main data types used in programming?
- String
- Boolean
- Integer
- Real (decimals)
Note that the syllabus also includes:
* Date and time - these are handled by dedicated libraries.
* Single precision floating point - this is a specific way to represent real numbers.
What are the 3 types of errors in programming?
- Syntax error - using incorrect instructions and formatting.
- Runtime error - occur during execution and results from an illegal operation
- Logic error - a result of code that does not correctly solve the problem.
What is the process of converting binary numbers to their decimal equivalents?
Determine the place value of each bit (as a power of 2) and then sum all values
What is the process of converting a decimal number to its binary equivalent?
Moving from left to right, “fill up” the binary values as much as possible for each place value.
How many unique values can be stored in a byte?
- A byte is 8 bits, so 2 × 2 × 2 × … = 2⁸ = 256 unique values.
- For an unsigned integer, theses are the numbers fom 0 to 255 inclusive.
How does the hexadecimal number system work?
- Hexadecimal is base-16, which means it has the digits 0-9 and then continues from A to F, before “rolling over” to 10.
- The place value of a hexadecimal number is a power of 16.
What is the process of converting a binary number to its hexadecimal equivalent?
Each group of 4 bits corresponds to a single hexadecimal digit, so just join them together.
How does the 2s complement system represent negative numbers?
- The highest bit of the number takes on a negative value.
- This means that the range of values a signed byte can take on is -128 to 127 inclusive.
How does the ASCII system work to represent characters?
- Each character is represented by 7 bits, resulting in 2⁷ = 128 possible characters.
- Some of these characters are non-printable “control characters”.