Monday, April 18, 2022

Tech Topic Programing Languages

 


            Programming Languages are multiple puzzle pieces of the fundamentals of information technology. Programming languages are kind of like verbal languages. People communicate thoughts and actions to other people, and people communicate instructions for tasks and actions to computers. There are thousands of programming languages; however, some languages are more common than others, depending on the instructions needed to complete tasks and actions. According to Vahid (2017), without programming languages or instructions, information technology could not communicate to computer hardware components, routers, servers, and other devices that understand machine language (section 9). Humans can learn and understand programming language, and computers can use complier software to convert programming language to machine language to complete tasks over and over again correctly.

          Computer science and information technology, throughout history, have used some type of computer programming language for operation. From the use of punch hole cards fed into a machine to input data or a keyboard entering characters and converted to 0’s and 1’s to represent switches on or off, those machines and electronic devices operate. The instructions written by programmers are stored on storage devices for retrieval when instruction for operation is needed.

          Different programming languages are written for the major hardware components and functions of modern computer systems. Ahmed (2021) explains that programming languages like C, C++, Java, JavaScript, Python, and R are some of the main languages utilized for ease of use, reliability, and best conversion to machine language with the best results (para 3). Many languages are written mainly for humans to understand the language and the speed and accuracy of converting to machine language to complete a task or action in a fast and reliable way. There are many ways you could instruct a person to complete a task, and the same applies to telling a computer to do something. If the person and the computer complete the task precisely as instructed, the time and accuracy are dependent on the programming received. Some languages can convert to machine language fast and use functions to prevent repeating the same set of instructions which slows operation speed. For example, I could instruct you to take a step, take a step, take a step, take a step, take a step, take a step, take a step, take a step, take a step, and take a step or In a programming language; I could create a function called Step. When I instruct the computer to call the function Step 10 times less code is needed, and the speed of operation is faster.

          Modern programming languages and program execution methods are moving toward energy efficiency. Older hardware and systems used programming language focused on operating the hardware or application and not on how much power usage may be required to operate. Mahadevappa (2021) explains how modern devices use applications that drain battery life quickly. Programming languages written to complete tasks without unnecessary power will keep us operating longer and save energy resources. Some operating systems run applications fast but require too much power. Operating systems programmed with efficiency will be equal to or better in speed with less use of resources (para II). Programming language technics will use memory components, hardware, and software to maximize the performance needed for now and the future.

          Application software is developed to meet the needs and wants of consumers. Staniloiu (2021) explains consumers are demanding that applications have more security-focused and memory-safe programming languages rather than performance-based. Program libraries are needed to prevent memory leaks and refresh applications to prevent bugs or errors in operation (para I). Zhang (2021) studied significant programming languages to determine which worked best with bug resolution; some languages like Java took less time to resolve errors than others like Ruby (Para 9). Applications that are quick to fix and with protection-focused programming will ensure a safe and enjoyable environment.

          Database programming languages like SQL, C, C++, and others relate to the basic concepts of database and database management in different ways. Databases contain priceless amounts of information that must be protected and accessed by clients quickly and safely. Nitu (2021) explains that memory corruption and security holes are major issues and can be reduced by adequately written programing languages that eliminate possible errors or bugs that hackers try to exploit (Para I-V). Programmers are now focusing on efficiency, conciseness, and security.

Figure 1 Staniloiu (2021) shows a method for programmers to ensure information is secure and accessible to authorized users (Para II). Security is vital to provide a safe information technology environment.



          Network architecture, management, and security are changing the methods of programming languages. Bergmans (2021) shows that applications and operating systems programmed with conciseness and consistency are more manageable for programmers to update and control a clean structure and safe embedded platform (para VII). Programming languages are only as good as the programmers that use them. Eliasen (2018) talks about how programming languages are taught starting with the easy ideas first. He shows how students learn Java in his class. “The course is structured like so:

1.    Variables and types

2.    If/else statements

3.    Loops

4.    Arrays

5.    Methods

6.    Objects and classes

This structure is bottom-up(Eliasen, 2018).

He explains that the issue is students have trouble learning when they are learning new tool usage but do not understand why they exist. He shows, “Instead, programming should be taught top-down, like so:

1.    What is an object?

2.    What is state? What is behavior?

3.    How do we represent the state and behavior of an object?

There are two reasons this structure is superior. First of all, it puts the student in the object-oriented mindset from the start. This allows the student to tie every new thing they learn back to the idea of an object instead of being forced to cram a bunch of random things they have learned into an object. Psychology teaches us that we learn best when we are able to connect the ideas we are learning to something we are already familiar with“ (Eliasen, 2018). Understanding the best programming methods for operating systems, applications, and other essential operatives will result in the best output for our future.

 


 

References

Ahmed, Z., Kinjol, F. J., & Ananya, I. J. (2021). Comparative Analysis of Six Programming Languages Based on Readability, Writability, and Reliability. 2021 24th International Conference on Computer and Information Technology (ICCIT), Computer and Information Technology (ICCIT), 2021 24th International Conference On, 1–6. https://doi.org/10.1109/ICCIT54785.2021.9689813

Bergmans, L., Schrijen, X., Ouwehand, E., & Bruntink, M. (2021). Measuring source code conciseness across programming languages using compression. 2021 IEEE 21st International Working Conference on Source Code Analysis and Manipulation (SCAM), Source Code Analysis and Manipulation (SCAM), 2021 IEEE 21st International Working Conference on, SCAM, 47–57. https://doi.org/10.1109/SCAM52516.2021.00015

Eliasen, D. 2018 October 22) Programming Is Taught in Exactly the Wrong Way. Retrieved from https://medium.com/s/story/programming-is-taught-in-exactly-the-wrong-way-7c88181daa96

Limbüchler, T. (2020 December 11) Top in-demand programming languages to learn in 2021Retreived from https://www.wearedevelopers.com/magazine/top-programming-languages-to-learn

Mahadevappa, S., & Figueira, S. (2021). Energy-Efficient Programming Languages for Mobile Applications. 2021 IEEE Global Humanitarian Technology Conference (GHTC), Global Humanitarian Technology Conference (GHTC), 2021 IEEE, 33–38. https://doi.org/10.1109/GHTC53159.2021.9612479

Nitu, R., Staniloiu, E., Done, C., & Rughinis, R. (2021). Security Audit for the D Programming Language. 2021 20th RoEduNet Conference: Networking in Education and Research (RoEduNet), RoEduNet Conference: Networking in Education and Research (RoEduNet), 2021 20th, 1–6. https://doi.org/10.1109/RoEduNet54112.2021.9638292

Staniloiu, E., Nitu, R., Aron, R., & Rughinis, R. (2021). Extending Client-Server API Support for Memory Safe Programming Languages. 2021 20th RoEduNet Conference: Networking in Education and Research (RoEduNet), RoEduNet Conference: Networking in Education and Research (RoEduNet), 2021 20th, 1–5. https://doi.org/10.1109/RoEduNet54112.2021.9638294

Vahid, F., & Lysecky, S. (2017). Computing technology for all. Retrieved from zybooks.zyante.com/

Zhang, J. M., Li, F., Hao, D., Wang, M., Tang, H., Zhang, L., & Harman, M. (2021). A Study of Bug Resolution Characteristics in Popular Programming Languages. IEEE Transactions on Software Engineering, Software Engineering, IEEE Transactions on, IIEEE Trans. Software Eng47(12), 2684–2697. https://doi.org/10.1109/TSE.2019.2961897

Wednesday, April 13, 2022

Network Security for Individuals & Organizations

             Individuals and organizations are concerned about computer system security (SS). Kotenko (2021) explains that preparing for and preventing cyberattacks is necessary to avoid lost time and money in repairing networks or downtime from slowed or stopped networks. Most of the time is spent creating patches to fix known attacks. He explains that very complex algorithms can help detect known and unknown potential threats. Although not all threats can be stopped, SS is the best way currently to fight the war on cybercrime (P 1-8). Some of the tools used by IT Professionals are abused by criminals using ping commands.

            Internet Control Message Protocol (ICMP) is ordinarily great for finding out where errors exist inside and outside of a network; However, according to Jenashankar (2021), hackers utilize ICMP attacks for selfish and harmful means (P 1-2). Jenashankar (2021) describes the types of ICMP attacks: “ICMP Tunneling, ICMP Router Discovery, Smurf attack, Fraggle Attack, ICMP flood attack, Ping of death attack, Information Gathering, Trace Route, Port Scan, OS fingerprinting, Teardrop.” (P 3). These tools that were used for good are turned into cyber weapons by attacking the system infrastructure in different ways. Jenashankar (2021) explains that a Teardrop utilizes the IP packet sent in separate segments to create a DOS attack. It uses over-lapping IP fragments that prevent the device from putting the pieces back together and can cause the device to crash (P 4). Using blocking technics can prevent some of these attacks but may cause problems with normal operations. Deciding the best SS measures to implement is vital for productivity and protection.

            A network is yet to be created without security holes or vulnerabilities. Operating systems, applications, and programs need to be used as intended. Tools can be used as weapons also, and creating security locks and combinations can help keep the honest user honest. Access to tools is needed, and front and back doors are standard for updates and usability. Togay (2022) explains that one of the best methods for securing and filtering is a strong firewall policy. Creating a firewall with rules that stop harmful packets from damaging or slowing down everyday user experience is needed. The ideal protection allows the authorized users, impervious to attacks, to see everything coming and going before it hits critical systems (P 2). Making sure firewall settings and other security mechanisms are adequately set at home and in the workplace will hopefully keep unwanted perpetrators from their dirty deeds.

            Another critical step to prevent harm is using strong passwords and 2-factor authentication technics. Vahid (2017) explains that many sites use two-step verification to access accounts to keep harmful users having access (Section 8.3.2). Text codes are becoming popular on many online applications and website access.

                            Figure 1 Password and phone unlock features


            Any lock or password can be discovered if the right attacks, tools, or methods are used. I have had people come to me with their computers locked out because they forgot their passwords. Password cracking tools was created for retrieving those lost passwords. I have bought a cheap used $ 15.00 desktop PC from a thrift store that had a hard drive that was loose. I opened the tower of the PC pushed the harddrive back into place, and started up the computer, and the user login came up. I shut down the PC and inserted a downloaded free password cracking software, and within minutes reset the user password to a new password. I deleted all the user’s information, but hackers could use abandoned hardware to recover data. I recommend using the safe removal of information when reselling old information systems. Liu (2019) shows the methods used in password cracking software. Some companies have implemented password rules based on ease of discovery by these brute-force software technics. Many websites force users to use hard unnormal passwords; however, research has shown passwords can be cracked given enough time and access (P 1-18). There are many creative ways to prevent password cracking software, and two-factor authentication is one excellent method. We can reduce the chances for attackers by making our systems challenging. Hackers look for easy vulnerable targets. Security is essential for everyone’s safety in the workplace and at home. Everyone must make an effort to fight against the cyberwars around us.

 

 


 

References

 Ipoxo.com (2022) How does the USB-Key work? Retrieved from https://ipoxo.com/

Jenashankar, A. (2021 August 24) ICMP Attacks – Types & Codes For Log Analysis, Detection & Defense. Retrieved from https://www.socinvestigation.com/icmp-attacks-types-codes-for-log-analysis-detection-defense/

Kotenko, I., Saenko, I., Lauta, O., & Karpov, M. (2021). Situational Control of a Computer Network Security System in Conditions of Cyber Attacks. 2021 14th International Conference on Security of Information and Networks (SIN), Security of Information and Networks (SIN), 2021 14th International Conference On1, 1–8. https://doi.org/10.1109/SIN54109.2021.9699368

Liu, E., Nakanishi, A., Golla, M., Cash, D., & Ur, B. (2019). Reasoning Analytically about Password-Cracking Software. 2019 IEEE Symposium on Security and Privacy (SP), Security and Privacy (SP), 2019 IEEE Symposium On, 380–397. https://doi.org/10.1109/SP.2019.00070

Togay, C., Kasif, A., Catal, C., & Tekinerdogan, B. (2022). A Firewall Policy Anomaly Detection Framework for Reliable Network Security. IEEE Transactions on Reliability71(1), 339–347. https://doi.org/10.1109/TR.2021.3089511

Vahid, F., & Lysecky, S. (2017). Computing technology for all. Retrieved from zybooks.zyante.com/

Computers in the Workplace

    Computers in the workplace are essential to how efficiently the work is completed. The industry I have chosen for this discussion is healthcare. Having worked for healthcare facilities for the Covid-19 support mission. I found that computer security and HIPAA adherence were at the top of the list of importance. The Center for Disease Control (CDC) states, “The Health Insurance Portability and Accountability Act of 1996 (HIPAA) is a federal law that required the creation of national standards to protect sensitive patient health information from being disclosed without the patient's consent or knowledge.” (P1). Many health care organizations have older software applications connected to databases for all their clients. The government wants security and helps support these organizations to move their extensive database of information to new applications. Hiring a software company to import all clients’ data is costly because hundreds of thousands of documents must be integrated into the new online system. Employees, nurses, and doctors need access to patients’ information and online platforms that pull information from databases and allow multiple users access to move the client from check-in, treatment, and checkout as smooth as possible. Dyzma (2020) lists 13 types of healthcare software needed: “1. Electronic Health Record (EHR) Software which includes: Electronic patient record software (EPR) – used internally by hospitals to store and process their patient information. Electronic medical record software (EMR) – is used to store data like medication types and dosage, past and planned procedures and data on the patient’s recovery course. 2. Medical database software. 3. Medical research software. 4. Medical diagnosis software. 5. Medical imaging software. 6. E-prescribing software. 7. Telemedicine software. 8. Appointment scheduling (booking) software. 9. Medical billing software. 10. Hospital management software. 11. Medical equipment management software. 12. Health tracking apps. 13. Personal Health Record software (medical diaries).” (p1).

    These medical software applications are sometimes combined in one online application and need fast and updated computers. The administration has access to online databases to check insurance coverage and billing options. Doctors and nurses have access to client information databases to have a history of symptoms and treatments. Medical personnel are required to send information to government agencies. Doctors and nurses send Labs and referrals for clients, and when results come back, they enter the results and send messages of results to the client automatically by clicking a button in the patient’s profile. Everything is transmitted over encryption to protect the client’s information.

    Computers are used in all types of medical equipment to show digital results of X-rays, cat scans, ultrasounds, and many other informative and life-saving devices. Programmers design software for each device and work hard to ensure security and updates are provided as necessary. Employees need to understand how to operate computers to navigate quickly through these systems because life is in their hands. As technology has significantly advanced in the medical field, employees must keep up with the new options available. Future healthcare options will involve artificial intelligence (AI) diagnosis by DNA and treatment’s structure specifically for each patient. According to Uniphore (2022), virtual healthcare environments are in great demand and are convenient for patients. AI can spot medical discrepancies in billing and help in diagnosis and treatment (2022). Computers will have a significant impact on many fields in the healthcare industry.
Jacob shows in the illustration at the top of the page how AI can help in the future (2020). If you would like to read his article click on the picture above or this link:https://medium.com/@beyondkeysolutions/7-reasons-ai-and-healthcare-can-work-together-to-lead-to-a-better-future-43d73fab7b9f.

Computers are here to stay and will continue to enhance the quality of life around us.


References

CDC, (2022) Health Insurance Portability and Accountability Act of 1996 (HIPAA) Retrieved from https://www.cdc.gov/phlp/publications/topic/hipaa.html#:~:text=The%20Health%20Insurance%20Portability%20and,the%20patient's%20consent%20or%20knowledge.

Dyzma, M. (2020 May 06) 13 Types of Healthcare Software. Retrieved from https://www.netguru.com/blog/healthcare-software-types

Jacob, S. (2020 May 05) 7 Reasons AI and Healthcare Can Work Together to Lead to a Better Future. Retrieved from https://medium.com/@beyondkeysolutions/7-reasons-ai-and-healthcare-can-work-together-to-lead-to-a-better-future-43d73fab7b9f

Uniphore, (2022) HEALTHCARE SOLUTIONS Demand for virtual healthcare is 7x higher* than before. Retrieved from https://www.uniphore.com/industry/healthcare/?utm_source=google&utm_medium=cpc&utm_campaign=conversational-ai-usa&utm_content=conversational-ai-health&creative=488493070454&keyword=ai%20and%20healthcare&matchtype=b&network=g&device=c&gclid=CjwKCAjwrqqSBhBbEiwAlQeqGsADeNxdQZrdCGwS-6RTXFqcIEVXpidpz89fR7ZuJ9W0ZkVW_SQROBoCW2QQAvD_BwE

Tuesday, April 12, 2022

Traveling Through a Network

            Information is traveling at high speeds on the internet every day. The data is a packet sent to different IP addresses and has information to direct it to the correct computer along with the many checkpoints. Vahid (2017) shows that this information may get directed to different routes because many transmissions are sent from other computers (section 3.1). Using the ping command shows the speed a network takes to send a signal from my computer IP address through routers to the IP address of the destination. Figure 1 shows that 32 bytes of data were sent four times toward google.com, and none were lost in transmission, and the minimum speed was 17ms, maximum 18ms, and average 17ms. When I pinged news.com.au shown in Figure 2, I was surprised that the speed did not change much, and the average was 17 ms with no messages lost. However, when I pinged yahoo.co.jp shown in Figure 3, the average time was 156 ms. Japan is a great distance away, and the traceroute command tracert is shown in Figures 1-3. Yahoo.co.jp had 14 stops along the way there and back compared to 9 to news.com and 8 to google.com.

Figure 1 Ping and Traceroute for Google.com



Figure 2 Ping and Traceroute for news.com.au




Figure 3 Ping and Traceroute for yahoo.co.jp



    The response time from each device along the way is determined by traffic and the speed of the devices. I noticed that news.com.au timed out at specific stops in the route tracing. There are *s’ before the Request timed out. According to Xfinity (2022), “the final *s’ is due to a firewall blocking traceroute packets. This is perfectly normal.” (notes). Xfinity also explains that some websites do not “respond to ICMP or traceroute requests… at the beginning stops.” (2022). There could be a problem with a connection at one system or even the Hops on the way back.

    Ping and traceroute commands are great to use to find out if a printer on a network is responding or if the error is somewhere along the way. When the latency is high, there could be problems with the local network or node level, and traceroute can help troubleshoot such an issue and let users know it is not the website.

    Kaczanowski summarizes, “ping is a (very) fast way to tell if a host is reachable over a network, while traceroute can help you diagnose connectivity problems.” (Para 5). Ping is a great way to quickly verify through ICMP (Internet Control Message Protocol) that a destination can be reached. The default setting for message packets on my windows computer is four. There are also settings to do a continuous ping to see if there is trouble communicating with a particular device; the reply times may be high when a device is not working correctly.
    Round trip time and distance are not like driving on the freeway inside a car, networks are much faster, and the distance to the final destination may be fast or slow depending on the route the network traffic is routed to and from IP addresses. I think it is because of location, routes, and internet speed connection. Google data centers (2022) are more on the east and west sides of the United States and less in the middle. This may be a determining factor based on which node is chosen compared to a closer node. For example, if the packet goes to several places in the United States before moving to another country, that could slow the process down. If a direct route is available, then the packet may be sent just as fast as sent to someplace closer. I have noticed that refreshing a site with an error can sometimes open the website, and the routing path may be one issue that causes delays.
    There are many reasons for high ping times. Routers can be slowed by having too many devices connected, and connection speed can be a significant factor. For example, if an older computer connects through Wi-Fi and has a slower bandwidth device, the ping results may be high. Internet speed may be fast, but with many devices connected to a router, the total bandwidth can overwhelm the router and, in some cases, may crash or freeze. Mohta (2022) explains it “can be because of several issues such as slow or unreliable internet connection, outdated drivers, network congestion, firewall configurations, limited bandwidth, apps, etc.” (Para 2). Packets can be dropped or timed out if the receiving device does not respond. I booted up my old 2004 Dell Inspiron B120 with Zorin OS see Figures 4 and 5 and did a ping and traceroute to google.com on Wi-Fi and ethernet, and it was about the same as my faster laptop, and ethernet was the same.

Figure 4 Ping to google on 2004 laptop Wi-Fi and ethernet comparison.


Figure 5 Traceroute to google.com on 2004 laptop Wi-Fi and ethernet comparison.



    I conclude that the few milliseconds (ms) difference on my older laptop for ping might be because I installed a Wi-Fi card inside it without having an antenna, but I am close to my Wi-Fi signal. The route that information takes is dependent on traffic amount, distance, speed, and proper working equipment to speed a packet to its destination.


References

Google Data Centers (2022) Discover our data center locations. Retrieved from       https://www.google.com/about/datacenters/locations/

Kaczanowski, M. (2021 October 04) How to Use the Traceroute and Ping                  Commands to Troubleshoot Network Connectivity Issues. Retrieved                          from https://www.freecodecamp.org/news/traceroute-and-ping/

Mohta, A. (2022) Fix Ping Spikes in Wi-Fi or Ethernet on Windows 11/10. Retrieved  from https://www.thewindowsclub.com/fix-ping-spikes-in-wifi-or-ethernet-on- windows-11-10

Vahid, F., & Lysecky, S. (2017). Computing technology for all. Retrieved from            zybooks.zyante.com/

Xfinity, (2022) Traceroute Command Overview. Retrieved from                                  https://www.xfinity.com/support/articles/run-traceroute-command?view=app

Website References
https://www.google.com/
https://www.news.com.au/
https://www.yahoo.co.jp/

Documenting a Day in my Life

Working in Word, Excel, and PowerPoint to create a journal, calculate time, and present a day in my life is a great learning experience. Each application is best utilized for specific tasks.

            When comparing the similarities between these three applications and databases, I found that they all have the means to format text and change the size and font style as needed. Word is more specific toward text and has functions to add pictures, tables, graphs to create many different types of formatted documents and save the format, unlike some text editors. Excel spreadsheets primarily calculate, organize, and represent tables data with text or numbers. Vahid (2017) explains how formulas can be typed into a cell to calculate the results from multiple cells and even recalculate when numbers or information is changed (section 5.2). PowerPoint is great for creating a slide show with text and graphics and can add animation to enhance the effects. Database applications like SQL or Access are like spreadsheets in Excel; however, each data line is connected to an ID to keep the data from becoming disconnected. Databases are for vast amounts of data that must be retrieved by multiple persons and are structured to organize data to prevent mixed information issues.

Figure 1 PowerPoint slide from Documenting a Day





 Figure 2 Excel Spread Sheet Pie Chart



           The advantage of each application is that Word is great for creating reports, journals, articles and allows many formats and styles to speed the process. I have built quick large font with colors flyers in Word. Word can add tables but is challenging to work with compared to Excel. Word does not have any way to calculate or sort text as Excel does. Excel is excellent for creating data tables, and graphs and charts can be imported to Word, PowerPoint, or other applications. PowerPoint can be used to create more than slide show presentations. Animation can even create interactive games, but other applications are better suited to game animation. Databases keep data safe from unwanted changes and are great for collaboration when multiple users are working on the same data. Database software can be confusing if one does not understand the basics methods. Excel can be used as a database and shared, but users will be frustrated from typing over each other’s information within a few days. Excel data can be imported into a database, and information can be retrieved from a database and imported into a spreadsheet. Most of my experience comes from exploring these applications to complete certain tasks. For example, during Covid, I created a spreadsheet that tracked people that wanted to receive the vaccine when it came available. However, the calls for getting on the list were growing daily. I was asked to create a shared spreadsheet to enter clients’ data as they called. We had four users entering data on the same spreadsheet, and it became a nightmare as data was overwritten. I researched and found that a database would be best for this issue; however, I was told no one knew how to create it, and we would have to use Excel. I temporarily solved the problem by creating seven input platforms in Excel and using Virtual Basic Programming (VBA) to send data to sheets within the shared spreadsheet. After inputting over 5,000 people’s information in less than five days, we stopped adding people to the list. The Excel application crashed several times, and I was called to recover it. I have since learned more about databases to be prepared for a similar situation.

Figure 3 Developer options VBA programming in Excel Click on Figure or link to see a video on adding the Developer Tab in Excel https://www.youtube.com/watch?v=JLQ8OuW0FlY



            I recommend Word for documenting information about a day. A complete outline with times and pictures can be created to show what happened. There are multiple methods and formats to record the data in tables, and if needed, the data can be imported to a spreadsheet for simple calculations.

            Word is great for preparing text to be copied into discussions and gives a document with all your discussions for future reference. Excel is great for schedules and small inventory lists that need to be sorted. Databases are best for storing large amounts of data, and then queries can pick information from the databases for reports as required. PowerPoint is great for creating how-to guides and small manuals with graphics.

            Vahid (2017) has shown the basic implementations of word-processing, spreadsheets, databases, and presentation software. Each application can be used in many ways, and some are better for specific tasks than others(sections 5.1 – 5.4). Learning the strengths and weaknesses of many applications will help ensure the best outcome in the projects of the future.

 


References

Excel Campus Jon (2018 September 19) How to Enable the Developer Tab in Excel for Windows. [You Tube Video] Retrieved from https://www.youtube.com/watch?v=JLQ8OuW0FlY

Vahid, F., & Lysecky, S. (2017). Computing technology for all. Retrieved from zybooks.zyante.com/


Web / Mobile App Critique. Grammarly Application Will Increase Writing Skills

    The Grammarly application (APP) is an excellent software utility for ensuring the proper

grammar, spelling, and plagiarism avoidance. It can be used on many platforms like

Windows, Apple, Android, and the web and may be used in specific applications. It can run

inside multiple word formats and help give suggestions anywhere text is typed. I have the

Premium version through UAGC. I use it to help me write better than I could generally on

almost any platform. I started my account on May 09, 2021, and I receive emails from

Grammarly that show my progress in Figure 1. Since I have one account, I use it on my

phone and Laptop computer. I can set the application to basic or premium checks, and I can

have it checked while I am writing or after finished with my rough draft.

Figure 1 Results since May 2021 of Grammarly usage.





    Grammarly has a Web page that allows importing text to check for suggested changes.

Figure 2 shows the account screen and the demo document with proposed changes. I also

have Grammarly installed on the desktop for Microsoft Office Offline, and it looks similar

to the online checks. After writing an essay or discussion, I open up Grammarly, and

depending on the number of pages, I will have suggestions in the three digits. It takes a

little time to review each recommendation, and I have noticed I receive a better grade for

using proper language skills. I have reduced the number of corrections on each report

because I remember which recommended errors and learn from my mistakes. Grammarly

lets me choose options of having a sidebar displaying all suggested edits or a floating icon

that follows where I’m at on the page and, when clicked, displays the errors at the location.

Grammarly can make some suggestions that do not sound correct, and I tell Grammarly that

I prefer my version better. Grammarly is artificial intelligence (AI) software that learns how

I write and gives me suggestions based on my preference and what is correct language

dynamics.

Figure 2 Grammarly web page application demo.

    Grammarly is a great phone application available for Android and Apple products.

Figure 3 shows two uses of Grammarly. Search engines make spelling suggestions and the

the application runs in the background for any text written. I wrote a Facebook post and

showed a before and after snapshot of how Grammarly helps.

Figure 3 Grammarly in Google search and Facebook post.



    I have had a few problems with Grammarly signing me out after about a month at

random times, and I have to sign back in to utilize it again. I know it has happened when I

open up a web page or word document and the Grammarly icon or tab is missing. I wrote to

the developers to see if they could fix the problem, but I will not know if they fixed it until

about a month later. I would love it if Grammarly could write my essay or discussion for

me. They must have known what I thought because they recently added a function called

Snippet. It turns commonly used phrases, sentences, and entire paragraphs into reusable

snippets to save time. There is an option in Figure 4 to create these Snippets and share

collections among groups of people for collaboration efforts. This is a function I am going

to learn how to use.

Figure 4 Snippets function to save time.



    Another function I would like is to have Grammarly automatically make suggestions 

before writing a sentence based on my writing style. I would like it to teach me how to 

write better and have a higher vocabulary level. I think reviewing applications helps 

understand the options available. Grammarly helped create this discussion.

 

Friday, April 8, 2022

Programming Languages

            Scratch is an excellent programming language that I wish I had when I was younger. I spent a few hours creating small programs to get familiar with Scratch block programming. I found several tutorials and followed along to see the best methods to develop functions. I looked at programs others had written and decided I would try building a game. I used a tutorial by Briggs (2014), https://www.youtube.com/watch?v=8RIJqEqZ_zU He showed how to build a game that had a spaceship that shot and avoided butterflies. I modified the blocks to make the program my own. I created a Scratch game called Magic Pencils Balloon Popper and the link is https://scratch.mit.edu/projects/661819867. This scratch game works best on a computer. Mobile options would need to be programmed similar to a tutorial by Xamuil2 on YouTube at: https://www.youtube.com/watch?v=uf4ZIlXQVas.

Figure 1 Click on the picture below to play the game.

 I wrote down what I wanted the program to do and then attempted to make it. The game has a magic wand with a star point that can spin and move around on the platform. It shoots pencils straight from the pointed end at balloons of three different colors with three different speeds. It keeps score when a pencil hits a balloon. It was challenging to do things that tutorials didn’t show me, and I experimented until it worked the way I wanted.




            I was lost at first trying to find the correct blocks to use and how they fit together. I made several mistakes and watched tutorials to understand why the program wouldn’t do what I wanted. I learned how to find things in the Scratch interface and the block language.

            The online Scratch program does not work on an android phone, and I used my laptop to design everything while watching tutorials on my phone. I have written programs in Python 3, and I used that knowledge to help understand the logic of the blocks to create different functions.

            As I created the game, I found that other ideas started coming to mind that I wanted to add to make the sprites do different things. Time was limited, and if I could work on it for days, I would learn more and add more functions to the game. I learned that there are different ways to write programs to do the same thing. I want to know the methods that will be best for updating software and running without problems.

            When comparing Scratch with the activities in the text by Vahid (2017), I found that Scratch is simple to understand, and machine language is more complicated for me to follow. Scratch is a programming user interface that converts the program to machine language. I have studied the basics of some high-level languages. Python 3 I used libraries like pygame to build games inside a program called Visual Studio (Sections 2.8, 2.9, 2.10, and 2.11). There are many languages written for different problems or projects.

            Some programming languages work well for smaller applications but not larger software like operating systems. There are many programming languages for different requirements. According to Levin, assembly language is a low-level using 0 and 1 binary code. C is compiled and used in operating systems. Python is a high-level, interpreted, sequential, general-purpose, non-enforced, non-meta programming language. Java is strongly typed and used widely in many areas. C++ is object-oriented. There are specialized languages like R used for statistical purposes. Metaprogramming changes itself to adapt to the situation needed. For example, self-driving vehicles use these languages (YouTube,2022). With time languages are developed that can do multiple functions but may not be the best for some situations.

            I enjoy Python 3 the most because I have spent many hours writing code for different requirements. It is easy to use and has multiple applications. However, I understand that other languages are required to complete a task more efficiently.

            Each language can be used better for different applications. HTML script is used for web pages. Some scripts are used to update or add to programs built with other languages. PowerShell can be used to write scripts to perform functions in the windows operating system. The main point is to utilize the programming language that will best perform the application needed. Sometimes more than one program language can be written and used together to improve compile time and run time.

            I think the most popular programming languages are Java, Python, and C. Java is used almost everywhere, C is used in operating systems, and Python is growing and adapting to complete the same tasks as other languages.

            The future of programming is changing as the needs of applications change. I learned some functions of the Scratch application and would enjoy learning how to do similar things in other languages. Each language has specific features that help provide a solution. Learning different programming languages will help me understand how to solve various problems.

 

References

Briggs, K. (2014) Scratch Tutorial 2: Make a Basic Game. [Video] Retrieved from https://www.youtube.com/watch?v=8RIJqEqZ_zU

Levin, M. (2022) Differences Between Programming Languages- YouTube Retrieved from https://www.google.com/search?q=Describe+the+differences+between+the+programming+languages&oq=Describe+the+differences+between+the+programming+languages&aqs=chrome.0.69i59j0i22i30j0i390.3584j0j7&sourceid=chrome&ie=UTF-8#kpvalbx=_5Dw2YuHaDdOx0PEPsaOI8Ak14

Merritt, B (2022) Magic Pencils Balloon Popper. Scratch Retrieved from https://scratch.mit.edu/projects/661819867

Vahid, F., & Lysecky, S. (2017). Computing technology for all. Retrieved from zybooks.zyante.com/

Xamuil2 (2020 March 27) Adding Mobile Controls to Your Game! || Scratch 3.0 Tutorial. [Youtube Video] Retrieved from https://www.youtube.com/watch?v=uf4ZIlXQVas

CPT 307 Week 5 Newbie to Newbie

Applying algorithmic design and data structure techniques creating structured programs   https://www.prepbytes.com/summer-programs/master-...