Posts

Showing posts from May, 2023

Google forms survey

A study survey was undertaken to assess general programming knowledge and perceptions people have on software development and how important it is to society. . link:  https://forms.gle/EHsUVpATsi3mkt5L6 this survey includes general questions and questions to get the opinions of the participants.

Diagram 2

Image
  (Authors work made using Draw.io) This diagram shows a few of the branches of programming, we can see that programming allows us access into a multitude of different fields that cater to different interests from fields like AI to fields like Security and Ethical Hacking.

Diagram 1

Image
  (Authors work made using Draw.io) In this diagram we can see the simplified version of the software development life cycle. this describes the various stages and processes in the process of creating software for companies in a structured manner.

Software (Evaluation-Functionality)

Image
   (iBeta, 2023) What is Software Functionality? Software functionality refers to the features, capabilities, and tasks that a software application or system can perform. It encompasses the specific functions and operations that the software is designed to carry out to meet the needs of its users or solve a particular problem. (Albrecht et al. 1983) Software functionality can include a wide range of aspects, such as: Core Features: The essential functions and capabilities of the software that address the main purpose or requirements. For example, a word processing software's core features would include creating, editing, and formatting documents. Input and Output: The software's ability to accept input from users or other systems and produce relevant output or results. This can involve data entry, file import/export, or integration with external systems. Data Manipulation: The ability to perform operations on data, such as sorting, searching, filtering, calculations, transform...

Software (Overview)

Image
(Thomas, 2020) Software refers to a collection of programs, data, and instructions that enable a computer or other digital devices to perform specific tasks or functions. It is a set of instructions that tell a computer how to carry out specific operations or solve particular problems. (Osterweil, 2008) Software can be broadly categorized into three main types: 1.System Software: System software provides the foundational components and services necessary for the operation of a computer system. It includes the operating system (e.g., Windows, macOS, Linux), device drivers, utility programs, and other software that manages and controls hardware resources. System software ensures that the computer hardware and other applications can work together effectively. 2. Application Software: Application software, also known as "apps," refers to programs designed to perform specific tasks or functions for end-users. Application software can be further categorized into general-purpose or...

Model Methodology (UML)

Image
(Copyright Free)   Unified Modeling Language (UML) is a model methodology widely used in software development to visualize, specify, construct, and document the artifacts of a system. UML provides a standardized notation and set of diagrams to represent various aspects of a software system. The UML model methodology consists of several types of diagrams, each serving a specific purpose in capturing different perspectives of the system. Some of the commonly used UML diagrams include: (Maylawati et al. 2018) 1. Use Case Diagrams - U se case diagrams illustrate the interactions between actors (users or external systems) and the system under consideration. They capture the functional requirements of the system by showing how users interact with the system to achieve specific goals. 2. Class Diagrams - Class diagrams depict the static structure of the system by representing classes, their attributes, methods, and relationships between classes. They are used to model the overall structur...

Software (Example IDE)

Image
  IDLE, which stands for Integrated Development and Learning Environment, is an integrated development environment specifically designed for Python programming. It comes bundled with the standard Python distribution and provides a user-friendly interface for writing, executing, and debugging Python code. As we can see from the above image I used IDLE to write python code to print Hello World IDLE serves as a convenient tool for Python development, particularly for beginners and those working on smaller projects or scripting tasks. However, for more complex or larger-scale projects, developers often prefer using more advanced IDEs like PyCharm, Visual Studio Code, or Jupyter Notebook that offer additional features, integrations, and customization options. (Afzal and Goues, 2018) Reference List: Afzal, A. and Goues, C.L., 2018, May. A study on the use of IDE features for debugging. In  Proceedings of the 15th International Conference on Mining Software Repositories  (pp. 11...

Project Plan

Image
 

Conclusion and References

Image
 

Main Body

Image
 

Computer Ethics in Computer Programming

Image
1)  Thou shalt not use a computer to harm other people: If it is unethical to harm people by making a bomb, for example, it is equally bad to write a program that handles the timing of the bomb. Or, to put it more simply , if it is bad to steal and destroy other people’s books and notebooks, it is equally bad to  access and destroy their files. 8) Thou shalt not appropriate other people's intellectual output: Copying somebody else’s program  without proper authorisation is software piracy and is unethical. Intellectual property is a form of ownership, and may be protected by copyright laws. 9) Thou shalt think about the social consequences of the program you write or the system you design: You have to think about computer issues in a more general social framework: Can the program you write be used in a way that is harmful to society? For example, if you are working for an animation house, and are producing animated films for children, you are responsible for their content...