
























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Student can get the idea about programming
Typology: Summaries
1 / 32
This page cannot be seen from the preview
Don't miss anything!
Student Name/ID Number: Md Tauhidul Alam/ Unit Number and Title: Unit 1 Programming Academic Year: 2021- Unit Assessor: Roger Francis Assignment Title: Implementation of Algorithms and Debugging Internal Verifier Name: Date: 13/12/
Source: ishwaranand.com (2020)
Pseudocode is a method, that developed by a programmer to describe a set of commands and those commands does not use any specific syntax. As this is an informal way of programming language, so it cannot be assembled into a feasible program. It will help the actual programming by saving the time as theoretical errors have been already corrected. There are some common pseudocode notations (bbc.co.uk, 2021) are: - Input, Output, While, For, Repeat-Until, If Then Else. If I explain the above flow chart into pseudocode, it will be like: Output programs outlined, what the programmer is searching for “is the coordinate system defined” Input programmers input the definition of a coordinate system for the program to search. It will store what has been put and search through the list.
Here I am defining the binary search function for list1.
then debugging process and finally run that code into a sole application. Normally IDE carry Different languages. For example, python, java and C++ IDE has various tools ( www.bbc.co.uk, 2021); a programmer can use those tools at the time of creating software. Those tools are: - Code Editor: - The programmer start writing the code into a place and that place is known as Shell. In the authorized area where the programmer can write the code, alter the code and save the code is known as Code Editor. In Code editor is the area where a programmer can check the text as well. Auto Completion also involved in code editor, which help a programmer by saving time. Translator: - The job of a translator is to assemble the high-level language code into low level language code, so that machine can read the code. Because high- level language code isn't machine readable. Libraries: - In Computer, there is a place where stored the complied code and that place is known as libraries. This code can be used by a programmer, when a programmer is going to write a new program. A programmer can save time by using a library feature and its hassle free as well. Turtle graphics, NumPy, SciPy, Pandas are examples of libraries in Python. Auto Documentation: - At the stage of auto documentation, a text file will be used to narrate the basis and purpose of the code. By using this file other programmers can easily recognize the process of code creation. Debugger: - While a program is running, sometimes errors can arise, and those errors are barriers for a program to run smoothly. Debugging is the way and that is used by a programmer to detect errors in a program. A programmer can eliminate any flaws in a program by debugging. When a debugger detects an error, it may show the error type as well as the location of the error. There are few steps ( www.elprocus.com, 2021) involved in debugging process. Such as identifying an error, the location of the identified error, analyzing the error, proving the analysis, the edgewise damage cover, fix and validates. Build Automation: - It’s a time-consuming tool for a programmer, as here the code of a programmer has been automatically complied into binary code. Build Automation is a very convenient tool for a programmer at the time of writing thousands of lines of code. Build Automation also upgrades the standard of the software by omitting inferior tools of the software. Jenkins, Maven, Gradle and Bamboo are the famous tools in Build Automation. .
Using IDE in a program has some benefits (www.g2.com , 2021), which are: The abilities of code completion boost the programming workflow Smooth development cycle will be continued because of IDE Programmer efficiency as well as satisfaction will grow
IDE ensures top quality code by checking errors automatically Deliver the best quality software on time The ability of refactoring permits the programmer to make diversified as well as mistake-free renaming transforms. Some IDEs use different windows to show the errors and it highlights the error. This will help make the debugging process easier. In most cases it serves as a sole environment
IDE has some Challenges too (www.g2.com , 2021), which are: Sometimes IDE is a slow process because spending more time on testing and debugging. Composite IDEs are the worst options for the new starter. It will be very hard for a new starter to learn IDE at the same time learning coding. Learning a new language by using IDE is much harder for a new starter. Auto Completion is a feature of IDE, sometimes this feature can be intrusive as well as disturbing. IDE has too many options and tools bar and all are not related to the program. The learner cannot recognize the process, If the program just executes. IDE always possesses upgrades and it's very hard for a programmer to maintain regular upgrades.
Code Editors are software, which are specially created to help a programmer in coding. Basically, code editor are the text editors, and these text editors have some added utilities to check and control the code. The speed of coding can be boost up by using best code editor. In the case of Software development life cycle (SDLC), code editors play a notable role. At the planning phase of SDLC, in where a programmer planning to write a code editor will be used that time to edit the source code for the program. Although code editor is a text editor, but advanced with the more features, which is not present in the text editor. Code editor can be standalone, or it can be a part of an IDE and that is known as shell. A programmer can write, revise and save a code at shell. Some specific programming languages is supported by IDE's code editor. Code editors were designed for the lone purpose of assisting a programmer, who wants to write and edit the code independently. It will be beneficial for new programmers, who can practice their coding skills with the feature of syntax functions, color coding, editing and so on. There are some features of Code Editors are (docs.microsoft.com, 2021): ♦ Syntax Coloring – Some markup files as well as syntax elements of code will be differentiated by coloring them differently. Such as, Keywords in Visual Basic
Massive files can be handled easily. In PHP, Java, JavaScript as well as Perl the syntax will be highlighted. Code Editor consist of smart code completion as well, which is supported by most languages. There is no composite choice and tool bars in code editor. As there is no option for auto correction, it helps the programmer to learn, reflect and revise their mistakes. The programmer would get the idea of debugging process at the time of writing code, if any error generated.
Code Editor have some flaws as well. Such as: The journey of an expert IDE user in code editor will not be smooth, as code editor have limited functions. The print functions are not available Some code editors will not provide guidelines, which can help a programmer to write the code.
Integrated Development Environment known as IDE. In IDEs codes are written as well as executed for the progress of a program and software, whereas in non-IDE codes are written and edited. But non-IDE is not doing the same job that IDE does. We can narrate non-IDE as a text editor or code editor, and it have some similarities with IDE. The Comparison between IDE and non-IDE (Code Editors): IDE Code Editor It’s a set of software development tools which is used by a programmer at the time of coding to make the process easier. There is a tool used by the programmer to alter the source code of computer program and that is the code editor. IDE tighten so many jobs such as code creation, building and testing conjointly in a single frame service or application. Code editor is created with some powerful features and functionalities to simplify as well as speed up the code editing process. IDE has some key features, which are: text editing, debugging, compiling, unit testing, syntax highlighting, GUI, code completion and so on. The key features of Code editor are syntax highlighting, printing, multi view as well as preview window. Eclipse, Visual Studio, IntelliJ IDEA, NetBeans are some of accepted forms of IDE. Atom, Sublime text, Brackets, Visual Studio Code are some familiar code editors. (www.differencebetween.net, 2021)
When a programmer develops a program, the programmer needs to make sure that he is applying a standard level of security in a code so that the code will stay on the safe side and that is known as Secure coding. A programmer can secure the software development department, IT security infrastructure and so on by secure coding. Secure coding has a purpose, which is to stop a delict and that delict could be a risk for the security of the program. At the time of stopping a delict, the programmer needs to maintain few factors such as Stability, confidentiality as well as truthfulness with the availability of authentic and steady information. A programmer can ensure secure coding by keeping the full process simply. The way a programmer keeps the process simply is known as KISS. In Software Development Life Cycle, Security is treated as a vital concern. Before starting a project, a programmer must make sure that the process will be secure. In Planning Phase of SDLC, every step will be checked by the developer to make sure the security standard is fulfilled. Every step from beginning to end will be monitored as well as documented to Develop a secure software. The development team should have enough knowledge about the security tools they are going to use at the time of building the software. A developer can deliver good quality software if their foundation is based on good security. Less Security in software may generate lots of problems such as, data leaking, software can be hacked, decline the value of stock market, the company can loss the reputation and so on. To ensure secure coding a programmer can follow some of the steps (w-se.com, 2021)below: - ♦ Issues of Visibility: - A programmer must document all the data at the time developing software into secure folders, so that other people can't access the data easily. High Visibility of the coding process only permits the expert programmer to work on code by confirming there is no room for vulnerabilities. A code signing certificate allows a programmer to download only secure code for applications. ♦ Data Accessibility: - Data Access Control is helpful for beginners, if they want to express their idea on the market. In terms of eCommerce website, the programmer has to follow a security standard and that is Payment Card Industry Data Security Stanard (PCI DSS) ♦ Inheriting Vulnerability: - At the time of creating a big program, a programmer must import open –source components, so that they can consume the time. At the time of doing these vulnerable components will be avoided by the programmer.
Report the bug. Try to find out the real reason for the bugs by involving users more in the program. When the bugs become visible the programmer must take a snapshot of the program. At that point, try to retrieve all the inconsistent utilities as well as shapes of the program Research the snapshot depends on the shape and action. The root of bugs needs to detect based on that Fix the present bugs and the programmer must ensure that no new bugs will take place. Source: (ifs.host.cs.st-andrews.ac.uk, 2021)
Debugging plays a great role in software development life cycle. In the testing phase of SDLC, debugging process will take place. When a developer develops software, in the testing phase the developer will detect the bugs of the program and take necessary steps to solve it. A developer can't avoid the error code, even though the developer follows the good coding standard. Debugging is the process by which a developer can detect the bugs in the program and remove them from the program. As a result, the developer can proceed the software to the final stage. There are some steps (www.edureka.co, 2021) involved in debugging process. Such as, Identify Error: - If a developer failed to identify the error in the beginning of the program, then all the time spent for the development of the program will be wasted. It's going to be hard for a developer as well as it will badly impact on SDLC, if any error takes place after the software develops. Find out the Error Location: - After accurately detecting the error, the developer must go through the code again to detect the exact location of the error. At this point the programmer must focus on detecting errors, understanding the types of errors.
Analyze the Error: - The third step of the debugging process is that analyze the error. When a developer has already found the error and location of the error, then the developer must analyze the error. The developer should use a bottom- up approach to analyze the code. When a developer analyzes an error, he must consider two things one is to look for any new errors around the existing around and another one is to make no more new errors will come on the fixed code. Prove the Analysis: - When the error has been identified, the error location has been found and the error has been analyzed, then the developer must detect any potential errors which can hamper a program from smoothly running. Test framework will help to write an automated test on this area. Cover Lateral Damage: - After proving the analysis, the developer must convene all the unit tests for the code, in where the developer is going to modify the code. After that, if developer will do these unit test, it should come out with the result of Pass. Fix and Validate: - The last stage of the debugging process is fix and validate. In this stage, a developer will fix all the errors that have been found on the code and will check by running all the test chirography if they all pass.
Debugging Process has some solidity. Here is some solidity of debugging process: - The great benefit of using debugging process in a code is that it will assist to control the potential error in a code by removing all the existing errors in a code. If any error has been found during debugging a code, it will be reported on the line as early as possible. As a result, the developer can find an efficient way to solve the code. The debugging process allows a developer to have some useful information. Although the unresourceful information is disbanded, which is easy to understand. The debugging process is a little bit difficult and that is why a lot of work is needed here. Here are some challenges (searchsoftwarequality.techtarget.com, 2021) of debugging process: The bad impact of coding error is understandable. Although the cause isn’t understandable. The bad impact of coding error is very hard to reproduce. Such as, at the time web content hold s drop down menus
the program by mistake new errors will be introduced on the other side of the program.
Interface errors
A programmer can find an extensive range of debugging tools, which are available in IDE. I used online GDB to create my program, which contains numerous features like break points, checking variables, step through functions and so on. Here I'm describing some of debugging tools used in IDE: Code Editor: - In IDE there is a place named shell, in where a programmer can write, edit and save a code for the next steps of programming. This shell also known as Code Editor. There are numerous types of features available in code editor, Auto completion of code is one of them. Auto completion of code consumes the time of a programmer. Breakpoints: - Breakpoint is an unquestionable point in a program, on that point a programmer is allowed to stop the program from execution. To make the analyzing and debugging process easier, breakpoints split the code into numerous smaller shades. Online GDB uses a red circle at the start of the line in a code to indicate a breakpoint. Step through code: - In Debugging process, step through code is a vital part, that’s why step through code is found in all IDEs. Step through code consists of some steps, such as Go or Continue, step into, step over and step out. Watchlists: - In watchlist all the watch indications will find, which are used to monitor a debugging process. Stack flow, local and global variables also found in a watchlist. Tracing: - Tracing is the recorded print statements, which shows the way a program is executed. As these incidents are instructed chronologically, so they should have a timestamp.
Breakpoints The red circle is the breakpoint of my code.
Call stack and local variable Here is the call stack and local variable of my code.
Step into
Stepover