1st Assignment
1st Assignment
DEET 2-1
Computer Programming
- Computer programming is the process of designing, writing, testing, and maintaining the
code that allows computers to perform specific tasks. It involves creating a set of
instructions (called source code) for computers to execute. These instructions are written
in programming languages, which provide the necessary syntax and structures for
developing applications, software, or solving computational problems.
Computer Programs
- A computer program is a set of instructions written in a programming language that tells
a computer how to perform a specific task. It typically consists of algorithms, logical
sequences, and data manipulation operations that the computer executes to achieve the
desired outcome. Programs can range from simple, like adding two numbers, to complex
systems like operating systems, games, or web applications.
Hardware
- Hardware refers to the physical components of a computer system, including
microprocessors, memory modules, input/output (I/O) devices, and data storage, which
collectively enable computing processes and data transfer.
Software
- Software refers to the set of instructions, data, or programs used to operate computers and
execute specific tasks. It is the non-physical part of a computer system, in contrast to
hardware, which is the physical components. Software acts as the intermediary between
the user and the hardware, telling the hardware what tasks to perform.
Pseudocode
- Pseudocode is a simplified, informal way of describing the steps in an algorithm or a
computer program using plain language. It isn't written in any specific programming
language but instead uses a structure similar to a programming language to represent the
logic in a more readable and understandable form. Pseudocode helps programmers think
through and plan their code before actually writing it.
Flowchart
- A flowchart in computer programming is a visual representation of a process, algorithm,
or workflow. It uses standardized symbols and arrows to depict the sequence of steps
involved in a program or system. Flowcharts help programmers and developers visualize
the logic of their code, making it easier to understand, analyze, and communicate.
2.) List down the major components of computer systems and give examples.
Design
System Architecture: Develop high-level architecture to define the program’s structure.
Detailed Design: Create detailed design documents, including data structures, algorithms,
user interfaces, and database schemas.
Prototyping: Build prototypes to visualize and validate design concepts.
Implementation (Coding)
Code Development: Write the actual code based on design specifications using a
programming language.
Version Control: Use version control systems to manage code changes.
Unit Testing: Test individual components or modules to ensure they work correctly.
Testing
Integration Testing: Test combined components to ensure they work together as intended.
System Testing: Evaluate the complete system to ensure it meets the specified requirements.
User Acceptance Testing (UAT): Conduct testing with end-users to validate that the program
meets their needs and expectations.
Deployment
Release Preparation: Prepare the program for deployment, including documentation and user
training.
Installation: Deploy the program to the production environment.
Go Live: Launch the program for users, ensuring that support is available for any issues.
Maintenance
Monitoring: Continuously monitor the program for performance and issues.
Bug Fixes: Address any defects or problems identified post-deployment.
Updates and Enhancements: Implement changes and new features based on user feedback
and evolving needs.
Agile Model
- An iterative and incremental approach focusing on flexibility and customer collaboration.
- Divides the project into small, manageable units (sprints) that allow for continuous
feedback and adaptation.
V-Model (Validation and Verification Model)
- An extension of the Waterfall Model that emphasizes verification and validation at each
development stage.
- Each development phase has a corresponding testing phase, promoting early detection of
defects.
Spiral Model
- Combines iterative development with systematic risk analysis.
- Involves repeated cycles (spirals) through planning, risk assessment, engineering, testing,
and evaluation.
Iterative Model
- Develops software in small increments (iterations), allowing for feedback and
improvement over time.
- Each iteration involves planning, designing, coding, and testing, leading to a more refined
product.