0% found this document useful (0 votes)
27 views6 pages

1st Assignment

com prog assign
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views6 pages

1st Assignment

com prog assign
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Gudio, Cassandra Mae S.

DEET 2-1

1.) Define the following:

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.

Program Development Life Cycle (PDLC)


- The Program Development Life Cycle (PDLC) is a structured process used for
developing software applications. It outlines the steps that developers follow to create,
test, and maintain software systems. Similar to the Software Development Life Cycle
(SDLC), the PDLC focuses specifically on the development of programs and
applications. The cycle ensures that the software meets the needs of users and functions
efficiently.

Software Development Life Cycle (SLDC)


- The Software Development Life Cycle (SDLC) is a structured process used for planning,
creating, testing, and deploying software applications. It provides a systematic framework
to ensure software development is efficient, cost-effective, and of high quality. The
SDLC is often divided into several distinct phases, each with specific goals and
deliverables.

2.) List down the major components of computer systems and give examples.

How computers store data?


- In programming, data is stored in computers using binary representation, organized by
types, and managed through various memory levels (RAM for temporary storage, hard
drives for long-term storage). Data is structured in files, directories, and databases,
making it accessible for programming operations. Understanding this system is crucial
for effective data handling in software development.

How a program works?


- a program works by being written in a programming language, translated into machine
code, and executed by the computer’s CPU. It interacts with users through input and
output, utilizes control structures to manage logic, and undergoes testing and maintenance
to ensure it operates correctly.

Brief History of Programming Languages


Early Languages (1940s - 1950s)
- Machine Code: The earliest form of programming, consisting of binary instructions
directly executed by the computer's CPU.
- Assembly Language: Introduced as a more human-readable way to write machine code
using mnemonic codes. Each assembly language is specific to a computer architecture.
High-Level Languages (1950s)
- FORTRAN (1957): Developed by IBM for scientific and engineering calculations; one of
the first high-level languages.
- LISP (1958): Created for artificial intelligence research, focusing on symbolic
computation and list processing.
- COBOL (1959): Designed for business data processing, emphasizing readability and ease
of use in commercial applications.
Structured Programming (1960s - 1970s)
- ALGOL (1958-1960): Introduced concepts of structured programming, influencing many
subsequent languages.
- C (1972): Developed at Bell Labs, C provided low-level access to memory and was
widely adopted for system programming and applications.
Object-Oriented Programming (1980s)
- C++ (1985): An extension of C that introduced object-oriented features, enabling better
organization of code and reuse.
- Smalltalk (1980): Pioneered the object-oriented programming paradigm, emphasizing
objects and message passing.
Scripting and Web Languages (1990s)
- Perl (1987): Initially designed for text processing, it gained popularity for web
development and system administration.
- Java (1995): Introduced "write once, run anywhere" capability, making it ideal for web
and enterprise applications.
- JavaScript (1995): Developed for client-side web development, it allowed interactive
features on web pages.
Modern Languages (2000s - Present)
- Python (1991): Gained prominence for its simplicity and versatility, widely used in web
development, data analysis, and machine learning.
- Ruby (1995): Known for its elegant syntax, Ruby became popular for web development,
particularly with the Ruby on Rails framework.
- Swift (2014): Developed by Apple for iOS and macOS applications, offering modern
syntax and safety features.
- Go (2009): Created by Google, it emphasizes simplicity and performance, suitable for
concurrent programming and cloud services.
Trends and Future
- Functional Programming: Languages like Haskell and Scala have gained traction,
focusing on immutability and higher-order functions.
- Domain-Specific Languages (DSLs): Tailored languages for specific problem domains,
such as SQL for databases or HTML/CSS for web design.

Importance of Computer Programming in Electrical Engineering


- computer programming is crucial in electrical engineering for designing and simulating
circuits, developing embedded systems, analyzing data, automating processes, integrating
technologies, and solving complex problems. It enhances the efficiency and effectiveness
of engineering solutions in this field.

Phases and Steps in Program Development Life Cycle


Planning
Define Objectives: Identify the purpose of the program and its goals.
Feasibility Study: Assess technical, economic, and operational feasibility.
Resource Allocation: Determine the resources needed (team, budget, time).
Requirements Gathering
Stakeholder Interviews: Meet with users and stakeholders to gather requirements.
Documentation: Create a requirements specification document that outlines functional and
non-functional requirements.
Review and Approval: Obtain confirmation from stakeholders on the requirements.

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.

Stages of SLDC and Models


Waterfall Model
- A linear and sequential approach where each phase must be completed before moving to
the next.
- Best suited for projects with well-defined requirements and minimal changes.

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.

Big Bang Model


- A less structured approach where development begins without detailed planning or
requirements.
- Suitable for small projects or prototypes, but can lead to chaotic results in larger
endeavors.

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.

You might also like