fbpx
Home Blog Page 966

What Old Technology Do You Think Is Cool?

0

Point-and-shoot digital cameras are hot again. What retro tech do you love?

Robot Snakes

0

What do you think this image is communicating?

Word of the Day: devise

0

This word has appeared in 114 articles on NYTimes.com in the past year. Can you use it in a sentence?

What Should Be Done With Art That Offends? Students Debate.

0

Teenagers discuss how a school should handle murals depicting slavery that some students and administrators say are racist.

What Is Visual Basic Used For?

0
What Is Visual Basic Used For?

Back in the early ’90s, Visual Basic was considered cutting-edge because it was one of the first languages to use a more readable syntax. Nowadays, while it isn’t the newest programming language, it’s still used today by companies worldwide. And it makes sense why: it’s a powerful tool for back-end programming, and while it’s often used to build internal systems, you’ll also find it in web and system applications and even chatbots.

What is Visual Basic?

Visual Basic (VB) is an object-oriented programming language (OOP) introduced by Microsoft in 1991. It derives from an earlier programming language called BASIC, which stands for “Beginners’ All-purpose Symbolic Instruction Code.” VB was designed to enable rapid application development (RAD) of graphical-user interface-based (GUI-based) applications and access to local and remote databases.

Learn something new for free

Why is Visual Basic so popular?

BASIC was one of the first programming languages to incorporate more everyday words into the syntax so the language could be easier to learn and remember. This is a big reason why Microsoft wanted to release a programming language that stemmed from BASIC.

Another innovation of VB was its use of graphical elements within Visual Studio, Microsoft’s integrated development environment (IDE) for Visual Basic. Rather than having to designgraphical components like menus and buttons, developers could resize menus with their mouse or drag and drop elements such as buttons and text. In other words, Microsoft added a “visual” part to the BASIC language — thus, Visual Basic.

So, not only was Visual Basic programming easy to learn, but its visual-based IDE made it much faster and cheaper to develop applications. It’s no wonder that VB has been so popular for so long.

Visual Basic vs. Visual Basic.NET

After the release of Visual Basic 6.0, Microsoft introduced Visual Basic.NET (VB.NET) in 2002, which ran on the newer .NET framework for developing software applications for Windows. (Note that “VB.NET” also refers to the version of Visual Basic that first employed the .NET framework.) Compared to VB 6.0, VB.NET is a fully object-oriented language like C++ or Java and it offers better performance and reliability.

Today, the Visual Basic 6.0 IDE is no longer officially supported. However, you’re still likely to come across VB 6.0 as a developer, particularly in companies that use older systems that are too time-consuming or costly to migrate to VB.NET. But when you hear about Visual Basic programming today, then you’re likely hearing about VB.NET.

What is Visual Basic programming used for?

The best part about Visual Basic programming is its flexibility. Front-End Developers and Full-Stack Developers can use VB to create customized applications that run in Windows or web applications. Plus, it can run from any browser or device.

VB is still one of the quickest and easiest ways to create applications that rely on forms, selections, and inputs. It’s also a popular choice for developing console applications — applications that run using only a command line rather than a GUI. VB applications are especially popular among medium and large companies for:

  • Inventory management
  • Data collection
  • Accessing databases
  • Communications

And as a web development tool, VB is used to create server-side scripting programs. Server-side scripting programs are run on a web server rather than within a browser. Web developers use VB to create web forms and applications. If you’ve ever communicated with a chatbot on a website, then chances are that you’ve interacted with Visual Basic programming.

Since VB.NET runs on Microsoft’s .NET framework, developers who use Visual Basic can access the full suite of .NET libraries and easily work with other .NET software applications. A few examples of typical .NET applications include:

  • Messaging platforms
  • Small-scale social media platforms
  • Order processing applications
  • Logistics management and invoice generation applications

Visual Basic behind the scenes

You may have noticed that the most common VB applications are for business-related functions. That’s because most Visual Basic programmers develop applications that perform particular tasks that you can’t do with traditional, off-the-shelf business software. Most VB applications aren’t mass released at all but instead used as internal or proprietary software.

Visual Basic vs. VBA

Chances are that you’ve heard about Visual Basic for Applications or VBA. On the surface, the two programming languages seem to be the same, or at least very similar. Both were developed by Microsoft, and both use a very similar syntax. But while both Visual Basic and VBA come from the same original programming language, Basic, the two languages have different functions.

Visual Basic is written in Visual Studio and can be used to create executable files that can run independently. 

On the other hand, VBA only works within a Microsoft Office host application: Word, Outlook, Excel, Access, or PowerPoint. These applications include the Visual Basic Editor (VBE) to create and run VBA code. People use VBA to automate complex or repetitive tasks within these host applications, such as generating forms in Word or creating standardized graphs and charts in Excel. But while VBA is more limited than Visual Basic, there is one big advantage: you can run VBA within most Microsoft Office for Mac applications.

Who should learn Visual Basic?

Just because you don’t hear about Visual Basic being behind the latest web app doesn’t mean that you shouldn’t learn it. In fact, VB remains one of the most popular programming languages. Companies all over the world rely on VB programmers to develop applications to perform critical business functions.

Visual Basic is a must-have skill if you’re interested in becoming a business-to-business (B2B) software developer.

And if you’re a business analyst, data analyst, or anyone who works extensively with Microsoft Office, then learning VBA will help you work more efficiently by automating repetitive tasks.

Developers still should know Visual Basic

Visual Basic might not be the newest programming language out there, but that doesn’t make it obsolete. If you’re a new Front-End Developer, Back-End Developer, or Full-Stack Developer ready to get into B2B software, you’ll want to add Visual Basic to your toolkit of skills and programming languages along with SQL and C#.Our final bit of advice: to keep your skills sharp, never stop learning. There’s always something new to learn with an online programming course. If you’re not sure what to do next, our developer Career Paths will guide you along your new career path.

Hardware vs. Software: How Are They Different?

0
Hardware vs. Software: How Are They Different?

Everyone knows there’s a difference between hardware and software (and you might have also heard about middleware), but can you explain what that difference is? Beyond tangibility, hardware and software form the foundation of a computer’s architecture, and while they work together and rely on each other to operate, they serve very distinct purposes. Learning more about these difference will help you better understand the tech we use every day — and if you’re a developer, it’ll also give you more insight into how your programs work and the breadth and variety of careers in the field.

Learn something new for free

What is hardware?

Hardware is the physical part(s) of a device. It includes tangible devices you work with daily and all of their mechanical/electrical components, including desktop computers, laptops, tablets, modems, routers, and cell phones. Other forms of hardware include medical instruments (such as MRI machines), assembly-line robots, many electrical-related components in automobiles, and even sound equipment like microphones, speakers, and analog synthesizers. 

The smaller parts that make up these devices are also considered hardware in and of themselves (or processing hardware), such as the CPU or hard drive. These hardware components work together for a computer to function, each part performing specific tasks.

Learn something new for free

Binary system 

Today, we know data to represent facts and observations in numbers, text, images, and sounds. However, for the hardware components of a computer, the data is defined only by the numbers 1 and 0 – called bits (or binary digits). So how does the binary system work? 

As we explain in our introduction to computer architecture, computer instructions are written in binary, also known as machine code. Computer hardware operates on a series of these binary instructions through pulsating power signals that signify either OFF or ON based on the binary digits 0 and 1 respectively.

So, machine code instructions are transferred between computer hardware components using either 1 or 0. Taking it further, binary is a numbering system built on a base of 2. When counting to ten in binary, every time a value reaches a power of 2, a digit is added, like so: 

Decimal    Binary

   0         0

   1         1

   2         10

   3         11

You may notice that binary digits can grow very large as the decimal number increases. Thankfully for us humans, we leave most of the work of reading binary digits to the computer (unless you are the one building the computer, of course). 

So, computer hardware processes data by executing instructions for storage and movement between components, making information accessible to the user. The four primary functions of computers that allow for user interaction are:

  • Input 
  • Processing (converting input into output)
  • Memory storage
  • Output 

You can learn more about hardware programming with CircuitPython within our courses. 

Von Neumann architecture: The stored program concept 

The modern computer system follows Von Neumann’s architecture or the stored program concept. This idea allows computer memory storage to hold both instructions and data, thereby letting computer systems store both hardware data and software data.

The stored program concept ultimately allows users to change program data without interacting with hardware components. This design laid the groundwork from which software took off. 

What is software?

Software is a set of pre-designed code that runs as a program on the physical computer. Software programs may need to be installed by the user, or they come with your computer already pre-installed by the vendor. 

“The software determines the work to be performed and controls operation of the system.” – Irv Englander.

Creating software is possible using many different programming languages, such as Java and Swift. Each language has its pros and cons, depending on whatever you’re building. And at the root of it, software application programs define instructions to be executed by hardware. 

Today, there are three main types of software commonly used, listed in the sections below. 

Application software 

Application software (or apps) are programs that can be installed onto devices like computers and phones, as well as many other devices as well. Examples include Microsoft Word, Zoom, and Spotify. The Apple and Android app stores host thousands of ready-to-be-installed apps for your phone.

Web applications also fit into this category. Programmers primarily use HTML and JavaScript to build these and host them on web pages that anyone can access by typing in the URL. Google, Yahoo, and Bing are web applications — all of which are a subtype of applications called search engines. There are endless development possibilities on the web, from games to spreadsheets and so much more. 

System software 

System software comes pre-installed on devices. An example would be the device’s operating system, like Windows, Linux, or macOS. An operating system creates the main interface that you see every time you boot up your device. It manages input and outputs, executes programs, and allows for file management, among other things. Mobile operating systems are the system software in phones, including Android OS, Apple iOS, and Blackberry OS.

Programming software 

Programming software is what programmers use to develop other types of software. For instance, Java is a programming language that commonly uses programming software, such as compilers, assemblers, and debuggers. 

Integrated development environments (IDEs) combine several programming software into one for ease of use. For example, this is possible in Java with a package called Java IDE. Some examples of popular and versatile IDEs that programmers develop with are Visual Studio, Atom, Brackets, and Sublime. 

Components 

The components of software and hardware help illustrate the difference between the two. For software, there are not many components. The programming interface is where the application is made in the code editor. Then there is the user interface, which is the user-facing display of the programs.

Fundamentally, the main components of computer hardware are input, CPU, memory, and output. However, that is a grand overview. There are many components to computer hardware — from the processors like CPU and GPU to storage devices, such as the hard drive and RAM. Other main components, like the primary circuit board (called the motherboard) and input/output devices. Examples of these include your computer keyboard, monitor, mouse, power supply port, and audio jack. 

More hardware components include:

  • Switches
  • Knobs
  • Buttons
  • Transistors
  • Buses
  • Controllers
  • Embedded system
  • Network controller

What is the difference between hardware and software?

As you can probably tell, hardware and software are very different. They can be confused because we usually just see the interface of computers —  the displays of the operating system and application programs on our devices. So, we can easily forget everything that is happening inside the box.

The critical difference when comparing hardware to software is the code used to operate them. Computer hardware uses machine code that functions with the help of instructions in binary data. Software programs function via the code that makes them, which is possible with many different programming languages. And the data of software programs consists of much more than numbers, as opposed to hardware devices. The software works on hardware through the coded programs’ instructions that are ultimately translated into machine code. 

The two are also different in how they perform after time. Hardware wears down over time and is susceptible to physical damage, whereas software doesn’t wear down because once it’s written, it remains how it is. If bugs are written in the code, they will stay in the code until fixed. 

Both are similar in that they are both prone to becoming outdated. Newer versions of hardware components are released that simply have better technical specifications than previous iterations. As for software, program languages can become obsolete and risk no longer being supported. Most reliable programs have dedicated personnel to ensure the software is up-to-date and functioning as intended. 

Hardware vs. software careers

Software engineers and hardware engineers do different jobs. The responsibilities of a computer hardware engineer consist of designing, testing, and updating hardware components. Whereas, on the program side, software engineers are coding either application, system, or programming software, defining instructions for every aspect of the resulting program. 

However, most employers may require experience in both hardware and software. Not all positions use both, but some certainly do. Examples of job titles for the two include:

Main functions of modern computers 

Above, we mentioned four main functions of computers that allow for user interaction. Let’s take a closer look into each of these functions and see how they relate to the hardware aspect of computers. Below, we’ll dive deeper into the functional components of a computer today —  all of which are required to work together for computer software to function properly. 

Processing

Central processing unit (CPU)

The CPU is the most critical hardware component of a computer, as this is the piece of hardware that carries out the instructions of the machine code. There are three main components that make up the CPU: the arithmetic/logic unit (ALU), the control unit (CU), and the memory management unit (found within the CU). Below is a chart for the functions of each component:

ALUCUMemory management unit
It makes calculations for the data that passes through the unit. It determines and executes instructions via the fetch-execute cycle. A component within the CU that is essential for fetching data and instructions. 

Memory

Primary storage: random-access memory (RAM)

RAM is memory available to the computer only when the computer is in the ON state (volatile memory). There are two subtypes of RAM: Static RAM (SRAM) and Dynamic RAM (DRAM). Modern computers use both. However, the primary memory in most computers is usually DRAM. The chart below compares features of SRAM and DRAM computer hardware. 

SRAMDRAM
More expensiveLess expensive 
Requires more electrical powerRequires less electrical power 
Smaller storage capacityLarger storage capacity
Faster to accessSlower to access

Secondary storage: Hard drive

The function of hard drives is for permanent data storage (non-volatile memory). Without permanent storage, we wouldn’t be able to save software or documents on our computers without keeping power supplied at all times. Therefore, permanent memory is a crucial hardware component of modern computers. 

Solid state drives (SSDs) are the standard for computers today — rather than the magnetic disk hard drives that had been previously used for long-term storage. SSDs are large-capacity flash memory units. They have better data access times and potential for storage capacity compared to hard disks. Flash memory is used in larger systems, and even in more portable systems, like smartphones and tablets. 

Input/Output (I/O)

Data from I/O devices passes through I/O controllers and onward to the CPU, such that the data can be processed accordingly. Without I/O, we wouldn’t be able to do much with computers at all. Even networking wouldn’t be possible. This is something we may take for granted today. Simply setting up a connection to the internet is a task that involves input/output devices. 

  • Input units take in data. Along the data path, data is converted into streams of byte machine code, allowing the computer to work with the information. 
  • After processing, output units provide data that has been converted back into something that is understandable to humans, such as what is transmitted on our computer monitors or through our headphones. 

Computer system architecture

Modern computer architecture breaks down into four fundamentals: hardware, software, data, and networking. Without any one of these foundational pieces, a computer would not work as it does. So, learning what each one does on its own and then understanding how they work together is critical to conceptualizing the computer system as a whole.

Computer architecture is a complicated subject that takes time to learn. If you are building your own computer or just want a better understanding of how computers work, look no further than Codecademy. We have curated resources to help you understand vast areas of computer science —  relating to both computer hardware and software. You can continue to develop yourself by learning more about computer architecture or branch out with our other courses and tutorials.

GUEST POST: Interview with an occupational therapist, entrepreneur, and EdTech guru

0
GUEST POST: Interview with an occupational therapist, entrepreneur, and EdTech guru

Dr. Toni Shub is the CEO of QoreInsights. She is leading the innovation and development of the Classroom Education Plan, a K-5 practice-embedded personalized professional development program with a decision intelligence platform for needs analysis and research-informed strategies. Toni earned her EdD in Leadership and Learning in Organizations from Vanderbilt University, and holds an MS in Occupational Therapy and a BA in Child Development: Child Mental Health. She has six patents and two peer-reviewed publications. As an Early Learning Consultant, she developed the Mead® Writing Fundamentals line. Toni owned/operated a pediatric occupational therapy clinic for 20 years and is an international speaker focusing on high-impact factors and strategies for teaching and learning, and mitigating bias in AI-powered EdTech.

I always enjoy hearing about how people got to where they are. What has your career trajectory looked like and how has it formed your philosophy on education?

Thank you for asking. My career is summed up by two Ralph Waldo Emerson quotes. I started my career with this quote on the wall: “…To know even one life has breathed easier because you have lived that is to have succeeded.” Over time, I really felt a calling to make even a greater impact, which led me to adding the quote: “do not go where the path may lead, go instead where there is no path and leave a trail.”  

I have been pretty lucky and have had a fun and rewarding career with a lot of variety. I started out as an occupational therapist and ended up owning and running my own pediatric clinic, Pathways for Learning, in Charlotte, NC for 20 years. I loved working with kids and families and training therapists. As I developed expertise and saw what was working, I started speaking around the country and loved spreading the knowledge I had gained. In 2004, I started running into problems without apparent solutions and decided to try to tackle them. I started with developing a pencil grip, Grotto Grip, which I patented, successfully launched and still sell today. In 2005, I developed RediSpace to help students learn spacing between letters and number alignment when writing. Being at the right place at the right time led me to license RediSpace to MeadWestvaco, now Acco, which helped me move my products into mass market. The next few years were incredibly fun, developing Mead Writing Fundamentals line for Target, Wal-Mart, Staples, etc. 

At this point, I was going to tradeshows with my products, running my clinic, and momming to 6 kids. I loved the variety and the impact. I got good at finding the “why” of the kids who came to me for help and figuring out how to target those issues. In this role, I often heard, “Wow, my student’s [reading, writing, or math] have really improved,” but I rarely worked on those skills directly. What I did was address the underlying factors. Often, that included understanding what was happening from the child’s perspective. For example, when a 2nd grader was in trouble with his teacher for not listening when told to color a picture of a house he drew, he was described as stubborn and defiant. I said to the student, “Tell me about what happened.” He said, “I didn’t color it because it is a picture of the WHITE HOUSE.” 

A few years later when getting my doctorate in education, I decided to research ALL the academic and non-academic factors that significantly affect student achievement and engagement. I thought, what if every teacher could understand all these factors for every child in their classroom and then have at their fingertips the very best instructional method that would address the most pressing needs in the class. I realized the only way to bridge the gap between classroom needs (student and teacher needs, academic performance, and classroom behavior)  and the best evidence-based methods is to use technology. Technology also allows for scaling of the solution so every teacher gets what they need, when they need it; and, every student has a teacher who has considered whole-child needs, heard his/her voice, and has access to the most up-to-date, relevant, classroom-ready strategies. My experiences, research, and realizations culminated in my latest edtech product, the Classroom Education Plan.

You have had a lot of success as an entrepreneur! Can you talk about the Classroom Education Plan?

Sure, the Classroom Education Plan (CEP) is the culmination of our work and is reimagining how to improve teaching and learning. CEP is an AI-powered professional learning system for elementary educators. It uses real-time teacher and student input and data to match teachers to evidence-based instructional strategies to meet the most pressing needs in each classroom, and then tracks impact on student growth. It evolves throughout the school year so teachers, coaches, and administrators can adapt to changing needs. The CEP uniquely:

  • uses decision support technology to leverage learning sciences and real-time classroom needs to guide teachers to the best-fit evidence-based instructional strategy at scale. (This technology has been proven in medicine to accurately  identify conditions and guide recommendations, and has saved countless lives.) 

  • guides district and school improvement planning with real-time, whole-child data and a clear understanding of what is working or not working for whom, when, and where.

What’s Going On in This Graph? | March 15, 2023

0

“There seems to be genuine confusion over what a well-meaning person can say without offending someone,” begins a recent Opinion piece in The Times. Which words do you use, and why?

How community leader Oluwakemi is pursuing her passion for social work with help from University of Michigan and Coursera

0
How community leader Oluwakemi is pursuing her passion for social work with help from University of Michigan and Coursera

Meet Oluwakemi learning from Akinyele, Oyo State, Nigeria. She’s a dedicated social worker and changemaker throughout several non-profit organizations within her community. Read more about her incredible passion for helping people and how she utilized Coursera to expand her skills. Here’s her story in her own words:

In November of 2022, I earned a degree in Philosophy from the University of Ibadan, but  I have always had a passion for helping others. This passion only bloomed throughout my volunteer experiences at university.

While in school, I had the opportunity to serve in various leadership positions such as the lead for the Oyo State Team – a youth empowerment group that advocates for better socio-economic opportunities – and at AIA International Foundation, an international youth-led nonprofit organization working towards societal development using innovation for sustainable development. I later became the Team Lead for the South West Region for Slum2School Africa, a volunteer-driven organization that aims to empower underserved children.

My passion for serving female youth in my community led me to start my very own foundation. In February of 2019, I co-founded the Freedom Movement for the Girl Child (FMGC) with the goal to protect and educate young women and girls. 

These phenomenal programs and organizations helped me attain real world experience in the nonprofit sector, but I felt I needed formal training to further enhance my skills. I decided to enroll in the Social Work Practice: Advocating Social Justice and Change course from the University of Michigan on Coursera, and I am so thankful that I did! I was able to develop better skills in leadership, project management, and ultimately, I was able to  deepen my knowledge in social injustice.

With my degree, my experiences, and my knowledge gained through Coursera, I’m able to drive even more positive impact and change for vulnerable women and children in marginalized societies. I look forward to growing my career in social work and giving back to the community. My advice to learners is to BE the change you want to see! Just empower yourself to give power to others.

Do Bugs Deserve More Respect?

0

Insects are not legally protected in at least a dozen states. How much should we care?