Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Programming
ASSIGNMENT
No.2
Class: .................
ID: .........
Assignment due:
Assignment submitted:
Student declaration
I certify that the assignment submission is entirely my own work and I fully understand the
consequences of plagiarism. I understand that making a false declaration is a form of
malpractice.
Student’s signature
Grading grid
P2 P3 P4 P5 M2 M3 M4 D2 D3 D4
ASSIGNMENT 2 BRIEF
Qualification BTEC Level 5 HND Diploma in Computing
Unit number and
Unit 1: Programming
title
Assignment title Application development with IDE
Academic Year
Unit Tutor
Submission
Issue date
date
Submission Format:
Format: The submission is in the form of an individual written report. This should be
written in a concise, formal business style using single spacing and font size
12. You are required to make use of headings, paragraphs and subsections as
appropriate, and all work must be supported with research and referenced
using the Harvard referencing system. Please also provide a bibliography
using the Harvard referencing system.
Submission Students are compulsory to submit the assignment in due date and in a way
requested by the Tutors. The form of submission will be a soft copy in PDF
posted on corresponding course of http://cms.greenwich.edu.vn/
Note: The Assignment must be your own work, and not copied by or from another
student or from
books etc. If you use ideas, quotes or data (such as diagrams) from books, journals or
other sources, you must reference your sources, using the Harvard style. Make sure that
you know how to reference properly, and that understand the guidelines on plagiarism. If
you do not, you definitely get fail
Assignment Brief and Guidance:
Scenario: You have applied for a post as a trainee with a software development
company and have been invited for an interview. You have been passed the
presentation to demonstrate your problem solving and basic programming skills. Now
you are given a more challenge task to create a fully working, secure application that
has been developed using an IDE and adheres to coding standards for a detailed
business problem.
Tasks
You will discuss a suitable problem with your mentor and list the user requirements
before designing, implementing (coding) and testing a solution. You will create a
report that should include:
● Introduction to your program (list of requirements and screenshots of program)
● Explain some of programming paradigms. Evaluate why and how your program use
these (or some of) paradigms.
● Explain the common features of an IDE should have and evidence of how the IDE
was used to manage the development of your code.
● An evaluation of developing applications using an IDE versus developing an
application without using an IDE.
● An explanation and evaluation of the debugging process in the IDE used and how it
helped with development.
● An explanation and evaluation of coding standards used in your program and the
benefits to organisations of using them.
The working application produced must also be demonstrated together with the
presentation.
2. Explain some of programming paradigms. Evaluate why and how your program use these
(or some of) paradigms.
Explain:
Paradigm can also be termed as method to solve some problem or do some task.
Programming paradigm is an approach to solve problem using some programming
language or also we can say it is a method to solve a problem using tools and techniques
that are available to us following some approach. There are lots for programming
language that are known but all of them need to follow some strategy when they are
implemented and this methodology/strategy is paradigms. Apart from varieties of
programming language there are lots of paradigms to fulfil each and every demand. They
are discussed below:
Procedural:
Fundamentally, the procedural code is the one that directly instructs a device
on how to finish a task in logical steps. This paradigm uses a linear top-down
approach and treats data and procedures as two different entities. Based on the
concept of a procedure call, Procedural Programming divides the program into
procedures, which are also known as routines or functions, simply containing a
series of steps to be carried out.Simply put, Procedural Programming involves
writing down a list of instructions to tell the computer what it should do step-by-
step to finish the task at hand.
Object-Oriented (OOP):
OOP is an approach to programming which recognizes life as we know it as a
collection of objects, which work in tandem with each other to solve a particular
problem at hand. The primary thing to know about OOP is encapsulation, which is
the idea that each object which holds the program is self-sustainable, which means
that all the components that make up the object are within the object itself. Now
since each module within this paradigm is self-sustainable, objects can be taken
from one program and used to resolve another problem at hand with little or no
alterations.
Characteristics of Object-Oriented programming:
Emphasis on data rather than procedure
Programs are divided into entities known as objects
Data Structures are designed such that they characterize objects
Functions that operate on data of an object are tied together in data
structures
Data is hidden and cannot be accessed by external functions
Objects communicate with each other through functions
New data and functions can be easily added whenever necessary
Follows bottom up design in program design
Event-driven:
Event-driven programming is a computer programming paradigm in which
control flow of the program is determined by the occurrence of events. These
events are monitored by code known as an event listener. If it detects that an
assigned event has occurred, it runs an event handler (a callback function or
method that is triggered when the event occurs).
Characteristics of Event-driven programming:
Have an event loop for capturing and handling events from various
sources, and closures to handle the dispatched events.
Mechanism for sending messages between classes or objects
Send a notification to another class when an event is generated.
We can interact between different objects within an application,
between 1 object and external object through event and event response.
Evaluate:
I write my program in an object-oriented programming. I choose object-oriented
programming because I can edit my code easily, Code reusability, it has high security
and Flexible.
3. Explain the common features of an IDE should have and evidence of how the IDE was used
to manage the development of your code.
The common features of an IDE:
Text editor:
Virtually every IDE will have a text editor designed to write and manipulate
source code. Some tools may have visual components to drag and drop front-end
components, but most have a simple interface with language-specific syntax
highlighting.
Debugger:
Debugging tools assist users in identifying and remedying errors within source
code. They often simulate real-world scenarios to test functionality and
performance. Programmers and software engineers can usually test the various
segments of code and identify errors before the application is released.
Compiler:
Compilers are components that translate programming language into a form
machines can process, such as binary code. The machine code is analyzed to
ensure its accuracy. The compiler then parses and optimizes the code to optimize
performance.
Code completion:
Code complete features assist programmers by intelligently identifying and
inserting common code components. These features save developers time writing
code and reduce the likelihood of typos and bugs.
Programming language support:
IDEs are typically specific to a single programming language, though several
also offer multi-language support. As such, the first step is to figure out which
languages you will be coding in and narrow your prospective IDE list down
accordingly. Examples include Ruby, Python, and Java IDE tools.
Integrations and plugins:
With the name integrated development environment, it is no surprise that
integrations need to be considered when looking at IDEs. Your IDE is your
development portal, so being able to incorporate all your other development tools
will improve development workflows and productivity. Poor integrations can
cause numerous issues and lead to many headaches, so make sure you understand
how well a potential IDE fits into your ecosystem of existing tools.
5. An explanation and evaluation of the debugging process in the IDE used and how it helped
with development.
Debugging, in computer programming and engineering, is a multistep process that
involves identifying a problem, isolating the source of the problem, and then either
correcting the problem or determining a way to work around it. The final step of
debugging is to test the correction or workaround and make sure it works.
The debugging process:
In software development, debugging involves locating and correcting code errors
in a computer program. Debugging is part of the software testing process and is an
integral part of the entire software development lifecycle. The debugging process
starts as soon as code is written and continues in successive stages as code is
combined with other units of programming to form a software product.
Once an error has been identified, it is necessary to actually find the error in the
code. At this point, it can be useful to look at the code's logging and use a stand-
alone debugger tool or the debugging component of an integrated development
environment (IDE). Invariably, the bugs in the functions that get most use are found
and fixed first.
The standard practice is to set up a "breakpoint" and run the program until that
breakpoint, at which time program execution stops. The debugging component of an
IDE typically provides the programmer with the capability to view memory and see
variables, run the program to the next breakpoint, execute just the next line of code,
and, in some cases, change the value of variables or even change the contents of the
line of code about to be executed.
Example:
NAVIGATING THROUGH CODE WITH THE DEBUGGER
Often, you start a debugging session using F5 (Debug / Start Debugging). This
command starts your app with the debugger attached.
The green arrow also starts the debugger (same as F5).
BREAKPOINT:
Breakpoint is used to notify debugger where and when to pause the execution
of program.
You can put a breakpoint in code by clicking on the side bar of code or by just
pressing F9 at the front of the line.
STEP OVER:
After debugger hits the breakpoint, you may need to execute the code line by
line.
"Step Over" [ F10 ] command is used to execute the code line by line.
SIMPLY INSPECT VARIABLES:
You can hover over a variable to view the current value in a data tip.
STEP INTO:
This is similar to Step Over. The only difference is, if the current highlighted
section is any methods call, the debugger will go inside the method.
Shortcut key for Step Into is "F11".
6. An explanation and evaluation of coding standards used in your program and the benefits
to organisations of using them.
Coding standards are a set of guidelines, best practices, programming styles and
conventions that developers adhere to when writing source code for a project.
Coding conventions target:
How to write statements in language, organize them into modules,
Format them in the source file.
How to create a name.
How to write a comment.
Terminology
There are following three terminologies are used to declare C# and .NET naming
standards:
Camel Case (camelCase): In this standard, the first letter of the word always in
small letter and after that each word starts with a capital letter.
Pascal Case (PascalCase): In this the first letter of every word is in capital
letter.
Class
Always use PascalCase for class names. Try to use noun or noun phrase for
class name. Do not give prefixes. Do not use underscores.
Refferences
1. https://www.geeksforgeeks.org/introduction-of-programming-paradigms/
2. https://www.sciencehq.com/computing-technology/procedural-oriented-programming.html
3. https://hackr.io/blog/procedural-programming
4. https://www.computerhope.com/jargon/e/event-driven-prog.htm
5. https://www.quora.com/What-is-the-difference-between-object-oriented-and-event-driven-
programming
6. https://learn.g2.com/ide
7. https://www.veracode.com/security/integrated-development-environment
8. https://searchsoftwarequality.techtarget.com/definition/debugging
9. https://www.codeproject.com/Articles/79508/Mastering-Debugging-in-Visual-Studio-2010-
A-Beginn
10. https://codeahoy.com/2016/05/22/effective-coding-standards/
11.