Uploaded by Aayan Muzemil

what is probably being learnt in CS

advertisement
Goals for: CMP120 - Programming I Course
Learning Outcomes
1. Describe the parts of computer architecture and the
phases of developing a computer program including
flowcharts.
Computer architecture is the end-to-end structure of a computer system that
determines how its components interact with each other in helping to execute the
machine’s purpose (i.e., processing data) 1. It can include the instruction set
architecture design, microarchitecture design, logic design, and implementation 2.
Some common components of computer architecture are:





Central Processing Unit (CPU): The CPU is the brain of the computer that
executes instructions and performs calculations. It consists of an arithmetic
logic unit (ALU), a control unit, and registers.
Memory: Memory is the storage area where data and instructions are kept. It
can be divided into primary memory (such as RAM and ROM) and secondary
memory (such as hard disk and flash drive).
Input/Output Devices: Input devices are used to enter data and instructions into
the computer, such as keyboard, mouse, scanner, etc. Output devices are used
to display or print the results of the computer’s processing, such as monitor,
printer, speaker, etc.
Bus: A bus is a set of wires or lines that connect the CPU, memory, and
input/output devices. It allows data and signals to be transferred between them.
Cache: A cache is a small and fast memory that stores frequently used data or
instructions. It reduces the access time and improves the performance of the
computer.
Developing a computer program is a process that involves several phases, such as
planning, analysis, design, implementation, testing, and maintenance 3. A flowchart is
a diagram that depicts the steps and logic of a computer program or algorithm 1. It
uses different shapes and symbols to represent the type of step, the data, and the flow
of control 4. Some common symbols used in flowcharts are:





Rectangle: A rectangle represents a process or an action that the program
performs, such as a calculation or an assignment.
Diamond: A diamond represents a decision or a condition that the program
evaluates, such as an if-else or a switch statement. It usually has two or more
branches that lead to different outcomes.
Oval: An oval represents the start or end of the program or a subprogram.
Parallelogram: A parallelogram represents an input or output operation, such as
reading from a file or printing to the screen.
Arrow: An arrow represents the direction and sequence of the flow of control
from one step to another.
Here is an example of a flowchart that shows the steps of a simple program that
calculates the area of a circle:
![flowchart example]
2.Use an integrated development environment (IDE) to
develop and debug software in C++
An integrated development environment (IDE) is a software application that provides
a comprehensive set of tools for developing and debugging software in C++ or other
programming languages. An IDE typically consists of a code editor, a compiler, a
debugger, a code completion feature, a syntax highlighter, and other features that
facilitate the software development process 1.
There are many IDEs available for C++ developers, each with its own advantages and
disadvantages. Some of the most popular and widely used IDEs for C++ are:

Visual Studio: Visual Studio is a powerful and versatile IDE developed by
Microsoft that supports C++, C#, Visual Basic, and other languages. It offers a
rich set of features, such as IntelliSense, code analysis, refactoring, testing,
debugging, and deployment tools. Visual Studio also integrates with various
frameworks and platforms, such as Windows, .NET, Azure, and Xamarin 2.

Eclipse: Eclipse is an open-source and cross-platform IDE that supports C++,
Java, Python, and other languages. It is based on a modular architecture that
allows users to customize and extend its functionality with plugins. Eclipse also
provides tools for code editing, debugging, testing, version control, and
collaboration 1.

Code::Blocks: Code::Blocks is a free and open-source IDE that focuses on C,
C++, and Fortran. It is lightweight and fast, and supports multiple compilers,
such as GCC, Clang, and MSVC. Code::Blocks also offers features like code
completion, code folding, debugging, project management, and plugins 1.

Visual Studio Code: Visual Studio Code is a free and open-source code editor
that supports C++, C#, Python, and other languages. It is designed to be simple
and lightweight, but also extensible and customizable with extensions. Visual
Studio Code also provides features like code editing, debugging, testing,
version control, and terminal integration 2.

CLion: CLion is a cross-platform IDE developed by JetBrains that supports C,
C++, and other languages. It offers a smart and intuitive code editor, a powerful
debugger, a code analysis and refactoring tool, a code generation and
navigation tool, and a testing and profiling tool. CLion also integrates with
various tools and frameworks, such as CMake, Google Test, Boost, and Qt 1.
These are just some of the best IDEs for C++ developers in 2024. You can find more
information and compare them in the following links: Educative, Visual Studio,
TrustRadius, GeeksforGeeks, and G2.
Download