fbpx
Home Blog Page 1098

Teaching the 26th Amendment With The New York Times

0
Teaching the 26th Amendment With The New York Times

In making his case for the change in his Opinion piece “If the 18-Year-Olds Get the Vote …” (July 7, 1968), Andrew Hacker, a government professor at Cornell University at the time, challenged the media’s portrayal of young Americans as political radicals or countercultural hippies. But he also pointed out how the generation from the ’60s differed from their parents.

Along with reading Mr. Hacker’s article, students can learn more about a movie he discussed, “Wild in the Streets,” which exploited this stereotypical image of youth. Read this review of the 2016 DVD or watch the original trailer, embedded above.

Students might consider the following questions after reading Mr. Hacker’s article:

  • According to Mr. Hacker, what were common perceptions and misperceptions of 18- to 21-year-olds in 1968? How are they similar or different from perceptions of young people today?

  • What arguments does Mr. Hacker make in favor of lowering the voting age? Do you find them compelling? Why or why not?

With the founding of the Youth Franchise Coalition (Y.F.C.) in 1969, a national organization was set to push for youth voting rights. At their first meeting, members of the Y.F.C. heard from two longtime advocates of the lower voting age: Senator Jennings Randolph, Democrat of West Virginia, and Senator Birch Bayh, Democrat of Indiana. The article “Young Lobby Group Chided on Militancy” (Feb. 6, 1969) summarizes the senators’ message about youth culture, politics and voting. What are they worried about, and what do they want the Y.F.C. members to do about it? What do you think about the senators’ message?

The next year at Senate subcommittee hearings on lowering the voting age, a number of witnesses criticized the stereotyping of young Americans in the media. Do we see this kind of media framing of young people today?

The Youth Franchise Coalition represented the culmination of a 30-year effort to lower the voting age. Bringing together student and youth organizers with adult allies, the Y.F.C. worked at the federal level to add an amendment to the U.S. Constitution. They also supported state-level campaigns, which worked to achieve state constitutional amendments. The first success was in Georgia in 1943.

The article “Lower Voting Age Sought for State: New Group Asks Franchise for 18-Year-Olds” (Jan. 15, 1967) reports on the campaign in New York, aimed at the state’s 1967 constitutional convention. After reading the article, students can discuss the following questions.

  • What was the goal of the Fair Franchise Coalition in New York? What steps did it involve?

  • What strategies did they pursue to achieve each of those steps toward their goal?

  • You can also consider what arguments John Patrick Conroy, the founder of the coalition, made for lowering the voting age.

Looking at the challenges involved in getting each state to pass legislation, including New York, proponents of lowering the voting age pushed Congress to enact a uniform voting age across the nation. But this was controversial. At stake was the relationship between states’ rights and federal power, an issue that originated with the nation’s founding.

Advocates of states’ rights, citing Article I, Section 2 of the U.S. Constitution, argued they had the right to determine the minimum age for voting in their states, not Congress. Those in favor of congressional action cited Article I, Section 4 of the U.S. Constitution. They believed that the power to regulate elections belonged to the states in the first instance, but that Congress “may” step in at crucial times, as happened with the 15th and 19th Amendments.

Creating Comunidad at Coursera – the HOLA Employee Resource Group

0
Creating Comunidad at Coursera – the HOLA Employee Resource Group

By Christian Angulo, HOLA ERG Chair and Senior Partner Development Manager at Coursera

In celebration of Hispanic Heritage Month and Latinx impact, we’re excited to introduce you to HOLA, one of the first employee resource groups (ERGs) established at Coursera. The HOLA ERG was founded in 2018 to create a community for Latinx Courserians to come together in celebration of our shared roots, and to amplify the values of community, creativity, and drive that are at the core of our Latinx experiences. In this post, we’d like to share some of the ways we’re making an impact within the Coursera community, and beyond.

Our focus

In the three years since our founding, we have focused our efforts on making an impact in three key ways:

  • Career development. Help HOLA members enhance their careers through strong professional development and serve as a talent engine to encourage other Latinx professionals to pursue careers at Coursera.
  • Community. Create an inclusive, safe community by fostering a sense of “familia” at Coursera through regular Comunidad meetings and quarterly events. 
  • Culture. Enhance members’ sense of cultural pride and share our traditions through events such as Salsa lessons and a virtual tango exposé.

Our mission

As we look ahead to the coming years and consider the impact we want to have, we have taken the step to formalize a new iteration of our mission statement. We look forward to this statement guiding our efforts as we continue to grow our community and expand the scope of our work:


HOLA’s mission is to create an inclusive community for our members by fostering a strong sense of familia at Coursera. HOLA members should feel empowered to share their culture openly, and to use our community to aid them in their professional development. HOLA members look to work with Coursera leadership to recruit and grow new generations of community, educational, and business leaders that empathize with the values of the Latinx community.” 

National Hispanic Heritage Month

Each year, Americans observe National Hispanic Heritage Month (HHM) from September 15 to October 15 by celebrating the histories, cultures, and contributions of American citizens whose ancestors came from Spain, Mexico, the Caribbean, and Central and South America. During this exciting month, HOLA organizes Coursera’s HHM celebrations, and we use this time to bring awareness of Latinx culture and traditions to the Coursera community. 

Before the pandemic, communal lunches in Spanish were a highlight of our HHM celebrations. We’d work with our facilities team to organize the week’s food menu to represent diverse Latinx cuisines, and provide Courserians with a real taste of our ancestral lands. We also hosted movie screenings and Salsa dancing classes!

During the pandemic, with in-person gatherings on hold, the need to feel connected has become even more important. So last year, HOLA leads and volunteers decided to expand our efforts beyond our internal company community. We partnered with the Latino Community Foundation, a non-profit organization based in California, to organize a fundraiser. 

We also created new virtual events. In place of our movie screening, we had a magic show that streamed live from Bogotá, Colombia. Instead of a Salsa dancing happy hour and the Coursera piñata, we enjoyed a stand-up comedy show featuring Latinx comedians from the San Francisco Bay Area. And finally, to ensure food would still play a central role, we featured an arepa-making class led by a Coursera board member. 

We also distributed a Latin American Culture Awareness Kit to our colleagues (full of recommendations for Latinx authors, films, and artists), and raised over $15,000 for the Latinx Community Foundation. 

As we kick off HHM 2021, we are excited to continue our tradition of celebrating not just within our company but with the entire global Coursera community. To that end, we invite you to learn Spanish with us for free during HHM, and to check out these courses taught by Hispanic experts. 

2

3 Latinx product designers at Coursera share their career journeys and advice for entering the field

0
3 Latinx product designers at Coursera share their career journeys and advice for entering the field

Are you interested in a product design career? In this post, we’ll share our conversation with three expert product designers to get some inside perspective on this high-demand field. They share advice and guidance on why this is a great career path, what skills and experience are most important, and how you can advance your career as a successful product designer.

Before we hear from our experts, however, let’s cover some product design basics.

What is product design?

Product design is the entire process of thinking, creating, and iterating products and experiences to solve people’s problems or anticipate user’s needs. 

What do product designers do every day?

No two days are the same for a product designer. On any given day, you might be busy collaborating with product managers to set product strategy, partnering with product researchers to understand user needs, or analyzing quantitative data to inform design decisions.You might have sessions with engineers and other designers to sketch new features and improve existing ones. Some product designers even create prototypes to run usability testing and iterate in their designs.

Why are diverse perspectives particularly important in product design?

Successful product design has a positive impact on consumer behavior, great product design makes for world-class experiences, and diverse perspectives make for more inclusive products. As more and more companies are realizing this, they are investing heavily in building high-skilled and diverse product design teams.   

Now, let’s hear from Coursera product designers Tatiana Londoño, Adriana Phillips-Guzman, and Alberto Guzmán!!

Each is an expert in their field, and also a member of the Latinx community. As we celebrate Hispanic Heritage Month, we’re excited to bring forward their perspectives as they help shape designs for Coursera’s global platform. With Latin America and the Caribbean making up 8.42% of the world’s population, having diverse perspectives in design is critical to building more inclusive products that can help learners everywhere learn without limits.

Can you tell us a bit about your journey into product design?

[Tatiana]

I majored in engineering, but it wasn’t until I took a class on product design that something clicked for me. I could finally see a path towards opening more doors for those who had been left behind. Almost a decade after graduating from university, I’m on my fourth job in the EdTech industry. Every single job has taught me something. The EdTech space is full of complexities and opportunities. There are so many people in the world who don’t yet have access to quality education, which makes EdTech a huge opportunity for designers trying to lead the way in an industry that drives life-changing impact. 

[Adriana] 

My career has been full of new iterations—just like the design process! While not every iteration worked, I always learned something new to help me grow. With a visual design major, I began my career teaching design at a university in Cartagena. I was also working at a local newspaper. I met fantastic people in those jobs, but the work climate in Colombia—where we experienced late or missing salaries and a lack of security—led me to apply for a Fulbright scholarship. This allowed me to pursue my Master in Design Management at the University of Kansas. 

My time at KU opened my mind to new design methods. It was that experience that led me to value higher education—what it can do, and what it did for me.  

[Alberto]

I’ve been fascinated by the intersection of technology and people ever since I was really young. I didn’t know much about product design in college until I worked on business operations at an early stage startup where a friend of mine was a design director. I saw how he and his design team worked together to develop a product and how their work blended entrepreneurship, engineering, technology, visual design, sound design, and more.

I decided to formally pursue product design. I went back to school, and also started honing my visual design skills with freelance work for local organizations. After graduating, it took me about six months to get my first full-time design role.  

I developed my career at startups, and this allowed me to explore facets of design that are traditionally executed by specialists at bigger companies. Now, at Coursera, I’m in a more specialized role. I am growing my skills and getting exposed to so many different approaches to problems as I learn from other specialists that are experts in their field.

Can you share some tips for being a successful product designer?

[Tatiana]

Make it an intentional decision to deeply understand a problem before tackling it. Identifying and challenging your internal biases, tackling a problem with open-mindedness, and going to the source before starting to form assumptions should all be part of your playbook. Just as important, you should also have a deep understanding of the systems and technology on which your product is going to be produced. 

Every product needs a good foundation. Otherwise, anything you build on top of it will fall apart. So, before jumping into the visual representation of your product, ask yourself:

  • Is there the right information architecture to support it? 
  • Is the data you can provide aligned with the data users expect to see? 
  • Have you thought of all possible use cases your solution needs to support? 
  • How would those cases be handled? 

The best designers are willing to get down to every detail of a product to create the right solution for their users. They can tell you about the complexities of the backend and the data model that supports it, and how ultimately they were able to translate it into a simple and streamlined solution for users. 

[Adriana] 

Know your strengths and learn how to use them in your design process. Successful product design is best achieved with a design team effort that leverages individuals’ areas of expertise. So, it’s important that you bring not just your specific product design skills, but also the natural abilities you’ve always had, and your unique experiences. This will help you find your design voice and bring it to life in your work.    

Show Your Work. Don’t be afraid to start sharing your designs, even when you don’t think they’re good enough. Design is about iteration, and it’s important to hear what’s working and not working. Also, having worked with people from such diverse backgrounds, I’ve grown to appreciate that different perspectives can help improve designs and open new ideas. 

[Alberto]

Keep an open, curious mind and invite others into the process. Our jobs are more about finding the right answers than having the right answers right off the bat. This is done best when you break down organizational silos and work together with non-designers. 

It’s also super important to have a strong perspective and develop the confidence to share that. Early in your career, it’s easy to assume that your role is just to execute on what a company wants you to design. But, if there is something you believe really sacrifices the user experience of a product, it’s important to speak up and have that hard conversation as early as possible. 

Finally, I’ve found that it’s important to build empathy for your cross-functional teammates so you can understand the roles they play in the UX. 

What career advice would you give for those who are interested in getting into product design?

[Tatiana]

Focus on communication skills. A big portion of the designer’s job is to communicate. Whether you are doing a user interview, convincing stakeholders of a certain direction, presenting your work, or doing a pairing session with a developer, communication is a key skill we rely on all the time as product designers. 

The process of becoming a better communicator for me has involved multiple facets. I had to feel more comfortable in my own skin, learn to appreciate my own point of view as valuable, get over the fear of speaking in a second language, and finally learn to structure my speech in a way that is optimized for impact. 

I’m being vulnerable here because I want to assure those who might be doubting themselves that although a big portion of the job as a designer is to communicate, you don’t need to be born naturally into it. Just like any other skill, it can be built and perfected, and even the most skillful communicators are still learning new things every day. 

[Adriana] 

Read. When you’re done reading, read more. When I began working as a product designer, the first thing I did was read three books about it. I was determined to be the most prepared person in the room, and the books I read prepared me for that. It worked so well, I haven’t stopped.

Get into projects and communities that will grow your skills. One of the most rewarding things I did after moving to Boston was to volunteer for Make a Mark Boston and work with Moms as Mentors. I made connections, grew and applied my skills, and soaked in the positivity of what I was doing. Making connections is huge. Most good opportunities come from people you already know. I’ve also joined the UXPA Boston Board for the same reason. 

[Alberto]

Start designing ASAP! There are a lot of layers to design and it can get overwhelming, but what’s most important is starting somewhere, wherever, and not being afraid to ask for help and feedback. Like I said earlier, the job of designers isn’t necessarily to have the right answers right off the bat, but to find the right answer. Finding the right answer gets easier when you detach yourself from your designs and allow the feedback to inform how you move closer to your solution.

So much of design is simply becoming more sensitive to details in everyday things that you hadn’t perceived before. But it’s hard to build that muscle without getting your hands dirty!

What are some of the challenges you faced as a Latinx product designer, and how did you confront those challenges?

[Tatiana]

Women’s representation in tech is low, and Latinx representation is lower. I often find myself in rooms where I’m the only woman, and almost always the only Latinx woman. I was too conscious of this earlier in my career. I could see how articulate some of my teammates were, and I thought it was impossible for someone who learned English as an adult to ever be like that. There was also the cultural context I came from, where as a Latinx woman I was encouraged to be quiet and to defer to men. Overcoming my impostor syndrome took lots of self-discovering and self-empowerment. It wasn’t until I believed I had something important to say that others started to believe it, too. Some of these people eventually became mentors and advocates who helped me polish my skills and who gave me a platform to showcase my best work.

[Adriana] 

When I started my career, I was the only Latinx woman on my team. I didn’t feel listened to or respected. Oftentimes, I was interrupted by my teammates and I felt like I had to shout over people to get attention. That didn’t match who I was as a person or as a designer. At one point, I was told I wasn’t being promoted because of my “language barrier,” which was code for having an accent. I had to lean on my support system and find a better fit for me.  It took a toll on my confidence at first. But I found a place that respected me and helped me  grow my confidence again. I learned to take my space and make my expectations clear. It was the first time I was comfortable with bringing my authentic self to work. 

[Alberto]

My early career was very grounded in fear. Fear of slowing my team down. Fear of having “bad” ideas. Fear of getting my design work steamrolled. Fear of getting uncovered for not being a real designer—whatever that means. 

Looking back, I wanted to be seen and heard, but that requires levels of vulnerability that I wasn’t comfortable with when I was in a room full of people in a foreign-feeling work culture that I was always trying to adapt to. 

Over time, I found communities and mentors that helped me to learn from those that had navigated similar obstacles and to feel heard by people I felt comfortable being my absolute full self with.

Why is it important to have more diversity and representation in the product design space?

[Tatiana]

So many reasons! If you are to build a product that will truly reach a global audience, you can’t design it in a vacuum. Access to technology, connectivity, and even cultural conventions affect how a learner consumes educational materials. These are all things we can teach ourselves to empathize with, but there is nothing more powerful than having a member on our team who has lived through it and can provide firsthand experience that will bring the solution to the next level. 

Another important reason for diversity and representation is that there is power in the resilience that underrepresented groups bring. I have seen it over and over again. People who had to go through a lot to get where they are, are extremely disciplined and resourceful. I see it every day in the Latinx community, which is filled with innovators. We have a saying in Colombia: “If we don’t know it, we’ll invent it.” I grew up with this mentality. My house was the ultimate museum of hacks. Everywhere you looked, you could see the inventions my parents came up with to make up for the lack of resources. 

[Adriana] 

People empathize best with experiences they understand. A wider variety of perspectives and experiences makes for a more empathetic product design team, which will result in a better product. In my role at Coursera, I can empathize with those trying to get an education in a developing country because I’ve lived that experience.   

[Alberto]

The key to nailing a user experience lies in deeply understanding the problem your audience is facing, which requires tremendous empathy and curiosity. It’s important to have a product team that is as diverse as the audience it serves in order to ground the team in empathy for what’s really going on in the lives of the people you’re trying to help.  

~

We want to thank Tatiana, Adriana, and Alberto for sharing so much of their lives, insights, and experiences, and we hope their perspectives have been valuable as you consider your own future in product design.

If you’re interested in learning essential skills to advance your product design career, we recommend exploring the Google UX Design Professional Certificate program. UX is a critical part of product design, and user experience (UX) designers focus on the interactions that users have with products like websites, apps, and even physical objects. It’s an excellent program for anyone eager to build job-ready skills in this rewarding field.

If you’re a product designer interested in furthering Coursera’s mission of transforming lives through learning, then good news! We’re hiring product designers––we’d love for you to apply here.


About these experts

Tatiana

Tatiana Londoño is a Senior Product Designer focusing on the educator experience. Her main focus is on designing the tools partners use to create and manage courses. Her passion for education has made Coursera the fourth EdTech company she has worked in as a product designer. Prior to Coursera, Tatiana led product design for the learner experience of Khan Academy. Tatiana is passionate about scaling education with the power of technology to reach every corner of the world. Close to her heart are under-resourced communities, like those in her native Colombia. 

Adriana 

Adriana Phillips-Guzman is a Senior Product Designer focusing on the learner experience. Her area of focus is the mobile experience design for native apps, visual design, and brand building. Aligned with Coursera’s mission to provide equitable global access to education, she is focusing on finding ways to make it easier for international learners to continue their education using our native apps. Prior to Coursera, she led key e-commerce experiences at Wayfair. In her current role at Coursera, she is combining her passion for helping others through education with the creation of experiences that enhance people’s lives.

Alberto

Alberto Guzmán is currently a Senior Product Designer at Coursera, focusing on the payment experience. He builds self-service tools that Coursera learners use to understand and take action on their Coursera transactions. Prior to Coursera, Alberto led design at a hospitality startup called Pared. Alberto is moved by the opportunity to use technology to empower people to create and grow.

2

Enter the Matrix – 5 Fantastic Jobs in Cyber Security

0
Enter the Matrix – 5 Fantastic Jobs in Cyber Security

As more and more business moves online, profits and opportunities in the online sector continue to rise. But it’s not just the positives that are growing. Malware attacks and hacking are also on the up as criminals try to cash in on this increasingly lucrative field.

To combat these threats, the cyber security industry is growing year on year. Companies are becoming smarter at protecting their online interests, from consumer data to industry secrets. If you’re working in IT, or indeed any job that requires you to use company servers, then you should have at least some grounding in cyber security. And if you’d like to make this fascinating area your career then you’ve come to the right place. Check out these five amazing Careers in Cyber Security!

 

Information Security Analyst

Information is the life blood of any online businesses. Data is precious and needs to be guarded, especially as governments crack down on companies who are lax on protecting their clients’ personal information. This role is vital for any company looking to effectively safeguard their customers’ data. Information Security Analysts need to be highly trained in both tracking threats that come from outside the business, while also making sure that the business’ internal data protection systems are up to scratch. Our course in Digital Network Security is a must for this career.

Computer Programmer

Computer Programmers are like architects – they build the infrastructure that allows the business to exist. Just as architects need to make sure their buildings are structurally sound, Programmers need to make sure that the websites and programmes they create are safe and secure. To be a successful Programmer today, you need to have strong Digital and Cyber Security Awareness instincts, in order for your work to deliver everything the market expects.

Systems Software Developer

Database hacks and breaches are becoming increasingly common and many big companies in recent years have had to pay out enormous ransoms to avoid embarrassing leaks of customer information. Database Security is essential for any IT professional creating and managing software systems. By weaving strong security features into your software, you’ll be able to protect your business from ransomware attacks that could cost the company everything.

 

Chief Technology Officer

The Chief Technology Officer (CTO) is where the buck stops in all matters technological and digital. It’s up to them to make sure that rigorous standards are being maintained when it comes to cyber security. If you have hopes of becoming a CTO, then you’ll be responsible for setting overall cyber security policy and so you’ll need to be well-versed in information security management systems (ISMS). This course on the latest ISO standard is the perfect place to start.

Web Developer

Web Developers need to be skilled in the newest cyber security developments in order to be one step ahead of cyber criminals. The National Institute of Standards and Technology (NIST) is a non-regulatory agency of the US Department of Commerce and has teamed up with Alison to produce a course on their Cyber Security Framework (CSF). This course is a must for anyone seeking a career in web development as you’ll gain cutting edge skills in how to best protect your online assets from cyber attacks.

Introducing Learn Intermediate JavaScript

0
Introducing Learn Intermediate JavaScript
Introducing Learn Intermediate JavaScript

Year after year, Learn JavaScript stands tall as one of our most popular courses. Millions of learners worldwide have used it to explore the basics of programming and the language’s syntax as they journeyed into web development.

But, while going over the course, we realized that it was a bit longer than our other introductory courses — and it also branched into more advanced concepts (like Await/Async).

To resolve this, we’ve split our JavaScript curriculum into two parts. First, we cut out the advanced concepts from Learn JavaScript to make it better-suited for beginners. Then, we added those more advanced concepts plus new materials to the new Learn Intermediate JavaScript.

Who is the new course right for?

Learn Intermediate JavaScript is for learners who’ve already completed Learn JavaScript and want to explore the language’s more advanced features. It’s also great for developers looking to delve deeper into the language and take their JavaScript skills to the next level.

What will you learn from the new course?

Learn Intermediate JavaScript exposes how the language works under the hood. You’ll explore currying, hoisting, concurrency, and more as you learn how to make your web apps more efficient and scalable. By the end of the course, you’ll know how to:

  • Create classes and use inheritance to minimize redundancy
  • Use JavaScript modules to define reusable logic
  • Identify the ways currying and hoisting contribute to how JavaScript works under the hood
  • Write asynchronous JavaScript with promises and async/await
  • Create calls to various APIs using requests
  • Understand the concurrency module and event loop in JavaScript

How will this affect learners who’ve already completed Learn JavaScript?

You’ll retain your certificate if you’ve already completed Learn JavaScript. If you haven’t, you may see an increase in your progress percentage due to some lessons being removed. Similarly, you may also notice some progress in Learn Build Tools and Learn Intermediate JavaScript if you’ve already completed some of the advanced lessons.

Recap

Our JavaScript curriculum is now split into two parts: Learn JavaScript and Learn Intermediate JavaScript. The former is great for anyone looking to take their first steps into programming with JavaScript. The latter is designed for those who want to explore the language’s advanced features and take their skills to the next level.

Once you’ve completed Learn Intermediate JavaScript, you can continue your learning with courses like:


JavaScript Courses & Tutorials | Codecademy

JavaScript is a fun and flexible programming language. It’s one of the core technologies of web development and can be used on both the front-end and the back-end.

What Is a Proxy Server?

0
What Is a Proxy Server?
What is a Proxy Server?

If you’re familiar with cybersecurity, you’ve probably heard about proxy servers. But what are they exactly, and why do people use them?

In short, proxy servers are used everywhere to streamline web traffic and protect sensitive data. Below, we’ll explore how proxy servers work, the different types of proxy servers, the difference between proxy servers and VPNs, and more.

How a proxy server works

First, remember that every computer on the internet needs a unique IP address. Your IP address is how web servers know where to send data that you request, like the web page for this article.

Like your actual address, your IP address can give away information about where you are in the world. That’s how streaming services know when to limit or block certain content.

When you use a proxy server,  which has its own IP address, all your web traffic is routed through it. The proxy server then communicates with other web servers using its IP address instead of the one assigned to your computer or server (with one notable exception mentioned below).

Depending on the setup, this single proxy server IP address can be primarily used either as a common “exit point” for you and your network to access the internet or as a common “entry point” for people outside of your network to access multiple internal servers.

What is a forward proxy server?

Forward proxy servers are used to manage how a person or group of people communicate with and access external web servers.

Company website filters provide a great example of forward proxy servers in action. Instead of monitoring and regulating every employee’s computer, company IT administrators can set up a forward proxy server to manage traffic between computers on the network and external web servers.

When you try to access a blocked site from your company’s network, the web page request from your computer must first go through the forward proxy server. The server detects the web page request before actually sending it to external web servers.

Instead of completing the request, your company’s forward proxy server will send back a message explaining that you’re not permitted to access the requested page.

Think of forward proxy servers as a tool to manage how a person or small group of people (your company or family) interact with the larger group (the internet). Forward proxy servers come in different flavors and configurations, depending on your needs.

Types of forward proxy servers

Now that you understand what forward proxy servers are used for, let’s take a look at some of the most common. Below, we’ll explore transparent proxies, anonymous proxies, and high anonymity proxies.

Transparent proxy

This is the simplest type of proxy server. When you send a request through a transparent proxy server, the server passes along your information as if you were making the request directly. In other words, transparent proxy servers don’t modify any of your information or offer any more privacy than surfing without a proxy server.

So, why do people use them? Because all network traffic still needs to go through the transparent proxy server. Companies, schools, and libraries use them to monitor web traffic to and from their networks to apply content filters. They can also block malicious code and cache content to help improve performance.

Anonymous proxy

Anonymous proxies offer more privacy than transparent proxies because they don’t pass along your IP address or personal data. Instead, the proxy server will use its own IP address for web requests while identifying itself as a proxy. Anonymous proxy servers are ideal for people who want to avoid targeted ads and general web tracking.

High anonymity proxy

High anonymity proxy servers are the most private because they don’t share your personal data or identify themselves as proxies. Many can regularly change their IP address with each new request, making it difficult for websites to track activity from a single client.

What is a reverse proxy server?

Reverse proxy servers are used to manage how people on the internet access servers in your network. Companies use reverse proxy servers all the time to manage their website traffic, and company website data can be housed on multiple servers to accommodate large volumes of traffic.

With a reverse proxy server in place, all website requests are directed to the single proxy server, which can then fetch the requested data and send it back to the computer.

In this setup, the reverse proxy server acts as a traffic cop to ensure that no website server is overloaded with requests. It also serves as a security buffer that prevents people from directly communicating with company servers.

Think of reverse proxy servers as a tool to manage how a large group (the internet) interacts with a smaller group (your servers).

Proxy servers vs. VPNs

On the surface, proxy servers and virtual private networks (VPNs) seem similar because both hide your IP address and direct web requests through a specific server. But the two aren’t the same, and the key difference is the level of encryption.

While your anonymous proxy server can protect your privacy while you’re using your web browser, it won’t always protect your data from other programs on your system, like mail and videoconferencing apps. VPNs, on the other hand, provide a fully encrypted connection between your computer and the VPN server, no matter where you are in the world. In other words, VPNs allow secure connections over otherwise insecure networks (like public WiFi).

While companies use proxy servers to monitor traffic for computers connected to their network, many prefer — or sometimes require — employees to connect to the internet using a VPN when using their laptops outside the office. That way, all sensitive company information is guaranteed to be encrypted and secured from the computer to the trusted VPN server.

Learn more about internet security

Cybersecurity Specialists use proxy servers (and many other tools) to monitor network activity and detect potential breaches. Our online cybersecurity course goes further in-depth into data protection techniques that you can (and should) use to secure your network.


Cybersecurity Courses & Tutorials | Codecademy

Cybersecurity is a fast-growing field that addresses the security risks of our increasingly connected digital world. Learn cybersecurity, and you will learn how users, companies, and even governments protect themselves and recover from, cyber threats and attacks. Start defending yourself, or your or…

What is AJAX?

0
What is AJAX?
What is AJAX?

While learning how to code, you may have run into the term AJAX and wondered what it means. Is it a programming language, a platform, or an application? Actually, it’s none of these — but by the end of this article, you’ll know what AJAX (Asynchronous JavaScript and XML) is all about.

The history of AJAX

Until the late 1990s, most websites returned complete web pages when you visited a page on the site. To reload any data, you had to reload the complete page.

This was an inefficient way of serving information to users and wasn’t very good for the user experience. It also increased the load on servers and the bandwidth needed to serve data.

In 1996, Microsoft introduced the iframe tag to Internet Explorer, which allowed the browser to fetch data in the background asynchronously. This was a step in the right direction for modern web applications.

In 2004, Google added functionality to Gmail that allowed data to be fetched in the background, and in 2005, they did the same thing for Google Maps.

Both Google’s and Microsoft’s technologies allowed developers to fetch data from a web server using JavaScript without a page reload. This technology was labeled AJAX in 2005 by Jesse James Garrett when he described how Google was accomplishing this in an article he wrote. It quickly became the most popular way to build web applications.

Now that you know a little about AJAX’s history, let’s look at how it works.

How does AJAX work?

What makes AJAX possible is a web browser’s built-in XMLHttpRequest (XHR) object. All modern browsers support this object, including:

  • Chrome
  • Firefox
  • IE7+
  • Safari
  • Opera

Most JavaScript libraries that use AJAX wrap this object in custom code to make it simpler for developers to use, but we’ll look at how AJAX works in regular JavaScript.

The first step is to create a variable that will instantiate this XMLHttpRequest object for you in JavaScript, as we do here:

const request = new XMLHttpRequest();

Because we want to do something with this data when we get it, like print it to a web page, we’ll attach a listener to this request that will tell us when our request has finished and retrieved the data we need.

As the term entails, AJAX requests run asynchronously. This means that the JavaScript code keeps running after making the request and doesn’t wait for a response. By attaching a listener, we can capture the response when it’s done. Here’s how we do that:

function requestListener() {
console.log(this.responseText);
}

request.addEventListener("load", requestListener);

Above, we have a function that will print the response out to the JavaScript console, which we can get from the responseText attribute of the XMLHttpRequest object. We then attach this function to the load event of our request.

The next step is to use this object to open a request to a server using the open method of this XMLHttpRequest object. The open method accepts two parameters. The first is the request method to use. Here are a few of the most common methods:

  • GET: This method is used to retrieve data and is the most common.
  • POST: This method submits data to the requested resource and is most commonly used to create new records or for logging in.
  • PUT: This method replaces current representations of data with the modified representations sent in the request.
  • PATCH: This method is typically used to update part of the data at the requested resource.
  • DELETE: This method is used to delete a specific resource.

The second parameter we pass to this method is the resource we want to retrieve. We’ll use a page from the example.org website and use a GET request to simply retrieve data. Here’s how we’ll retrieve the data:

request.open("GET", "http://www.example.org/example.txt");

The final step is to actually send the request for the remote resource using the send method of the XMLHttpRequest object. Here’s how we would do that:

request.send();

If we’re using the POST request method, PUT request method, or another method that updates the resource, we’d call this method with a parameter that contains the data we’re sending:

request.send(OUR_DATA_VARIABLE)

But in our case, we’re only retrieving data, so once we execute this code, it’ll print out the contents of http://www.example.org/example.txt to the console of our web browser.

This example works to explain how AJAX functions, but AJAX is actually used for more advanced functionality in practice.

What is AJAX used for?

What you should take away from the example above is that all of the code functions in one page load. Actually, the web page with our JavaScript will load first, then our JavaScript will execute, and when it’s done, it’ll print the results of the request.

We could just as easily attach the code above to a function that executes when a button gets clicked. That would mean that every time you clicked the button, the code would execute, make the request, and print the results to the console without another page load.

And that’s the magic that changed how web development is done. With the advent of AJAX, a big part of web development moved to the front end of a web application — the part that runs in the browser. You’ve seen AJAX at work daily without even knowing it.

When you log in to a modern website, you’re presented with a form. You enter your credentials and click the login button. A loading indicator may spin for a few seconds on the page, but if you pay attention, you’ll notice that the page never actually reloads. All you’ve done is send your username and password to a server using AJAX.

The loading indicator is there for eye candy while the request completes and returns, whether you’ve entered valid credentials or not. And, if your credentials are correct, your homepage loads, most likely from another AJAX request.

Most AJAX requests in JavaScript don’t load whole web pages as we did with our example. The data is sent and retrieved in a format called JSON, a text-based format to represent data, and more JavaScript code is used to format this data as HTML and print it to the page. For example, the data sent to log in to a website would look like this in JSON:

{ username: "MyUserName", password: "MyPassword" }

And once the credentials are validated, JSON will be sent back to the browser that holds the bare minimum amount of data to render the dashboard. AJAX, combined with JSON, not only makes modern web pages more responsive but saves bandwidth by sending only the necessary data to generate a web page.

Ready to learn more?

AJAX is the concept that makes the responsiveness of modern web applications possible. To make the most of AJAX, it helps to know HTML, CSS, and JavaScript. Our Learn HTML course covers the basics of the language used to create web pages.

While using AJAX, you don’t actually need to know CSS. Still, if you want to build AJAX-based applications with style, Learn CSS will show you how. But, you’ll also need to know JavaScript. Our Learn JavaScript course will teach you how to build interactive web pages that use AJAX.


JavaScript Courses & Tutorials | Codecademy

JavaScript is a fun and flexible programming language. It’s one of the core technologies of web development and can be used on both the front-end and the back-end.

Web Development Courses & Tutorials | Codecademy

Web Development is the practice of developing websites and web apps that live on the internet. Whether you’re interested in front-end, back-end, or going full-stack, the content in our Web Development domain will help you get there.

10 Swift Code Challenges for Beginners

0
10 Swift Code Challenges for Beginners
10 Swift Coding Challenges for Beginners

Learning Swift or any other programming language can be exciting and fun, but lessons can only get you so far. To truly master coding, it’s important to apply your new skills to exercises and projects that build on all your previous knowledge. That’s why we put together these 10 exercises for Swift beginners.

Before you get started, we recommend that you first understand the fundamental concepts of Swift before taking on these challenges. And it never hurts to understand some foundations of coding to make sure you’re developing good habits from the start.

10 Swift coding challenges

Below are 10 coding challenges for beginners that’ll help you become more familiar with Swift. Half involve strings, and half involve numbers. For each exercise, we’ve also included a slightly more difficult challenge to take on once you’ve mastered the basic exercises.

1. Singular or plural?

Create a function that accepts a string as an input. If the string ends in “-s,” then the string should return TRUE to indicate that the word is plural. Otherwise, it should return FALSE. Keep in mind that the function should return a Boolean value (TRUE or FALSE) and not a string value (“true” or “false”).

We like this challenge because it’s easy to step up the difficulty if you’re feeling up for it. Your function can include cases that handle irregular plurals — “women,” “children,” “geese,” and so on. You can do this using conditional statements within your function.

2. Reverse a string

Come up with a function that takes an input string and reverses its order. For example, “I love Codecademy!” should return “!ymedacedoC evol I.”

For an added challenge, switch capitalization so that each new word is capitalized. So, “I love Codecademy” outputs as “Ymedacedoc Evol I.”

3. Isograms

An isogram is a word that has no repeated letters. For example, “today” is an isogram, but “tomorrow” is not. Create a function that accepts an input string and returns TRUE if the word is an isogram and FALSE if the word is not.

As an added challenge, if the word is an isogram, output the repeated letter or letters instead of outputting TRUE. So, an input of “tomorrow” would output [“o”, “r”].

4. Find the palindrome

You may remember that a palindrome is a word that’s spelled the same backward and forwards — like “mom” or “racecar.” Create a function that accepts a string as input and returns TRUE if the string is a palindrome.

For an extra challenge, find a way to check whether a phrase or sentence is a palindrome — for example, “Taco Cat” or, “Too bad I hid a boot.” You’ll have to find a way to remove spaces in your phrases to get the function to work.

5. Name cards

Imagine that you’re creating name cards for a group of international guests. Their names and home countries can be stored as key-value pairs in a dictionary:

guests = [ “Mike” : “Canada”, “Jane” : “Australia”, “Angela” : “Germany”, “Robert” : “Nigeria”]

Create a function that accepts a name as an input string and outputs a name card greeting that includes the person’s name and country. For example, “I’m [name], and I’m from [country].” So, inputting Robert’s name would output, “I’m Robert, and I’m from Nigeria.”

If a name isn’t in the dictionary, then the output should just include the person’s name.

Looking for a further challenge? If a person’s name isn’t already in the dictionary, display a message like, “New name detected. Please enter country,” and prompt the user to enter a country name. The name and country should then get added to the existing dictionary. Hint: use readLine() to accept user input.

6. Factorial challenge

Remember factorials from high school? The factorial “!” operator means that you should multiply a number by all the whole numbers that come before the number. So, 4! is equal to 4 x 3 x 2 x 1, or 24.

Create a function that accepts an integer as input and calculates the factorial of that number. If the number is 4, then the output should be 24.

Looking for more of a challenge? Try validating the user input. If a number is less than zero, then display a message that says, “Input cannot be negative.” If the input is 0, then the output should be 1.

7. Ascending order

Create a function that outputs the numbers in a positive numerical input in ascending order. For example, an input of 9462 should output 2469.

To give yourself more of a challenge, add an argument to your function that accepts the strings “ascending” or “descending.” Depending on the input of this argument, your function should sort the array in either ascending or descending order.

8. Is there a higher number?

For a given array and number, n, create a function that returns TRUE if a number in the array is greater than n. For example, for an array [24, 32, 42, 34] and n = 50, the output should be FALSE.

For an added challenge, if there are multiple numbers in the array higher than n, return an array of the higher numbers in ascending order. So, for an array [24, 32, 42, 34] and n = 27, the output should be [32, 34, 42].

9. Evens and odds

Create a function that splits an input array into two arrays — one with only even numbers and the other with only odd numbers. For example, an input of [3, 45, 9, 80, 1, 306] will output [[80, 306],[3, 45, 9, 1]].

To make the exercise more challenging, add an additional argument to your function, n. Numbers divisible by n are put in the first output array, and all other numbers go in the second output array. For example, for the input array [3, 5, 18, 10] and n = 3, the output array should be [[3, 18], [5, 10]].

10. Digit length filter

For a given input array and number n, create a function that only outputs numbers with n digits. So, an input of [34, 29, 99, 434, 1, 3] and n = 2 should only output [34, 29, 99].

For an extra challenge, create a function that filters out numbers with a given number of decimal places.

Stand out as a Front-End Developer by mastering Swift

If you’re looking to become a Front-End Developer, learning Swift will help you stand out from the pack — especially in app development. And if you’re not yet sure what else you should learn, don’t worry. Our Career Paths take the guesswork out of figuring out which skills you need to best succeed in your new career as a developer.


Swift Courses & Tutorials | Codecademy

Swift is a modern programming language developed by Apple. This general-purpose programming language is fast and powerful without sacrificing safety or readability. Swift is a great language to learn for those interested in iOS and MacOS development as well as anyone who is just starting to code.

Riddle Me This

0
Riddle Me This

A recent Times article delved into the history of the crossword puzzle, emphasizing how often riddles are used to create some of the more tantalizing clues.

Do you like solving riddles — or do you find them more vexing than entertaining? Have you ever had to create a riddle for a class or school project? What are some of your favorite riddles?

Share a fun riddle or brainteaser in the comments, then read the related article to learn more about the art of crossword clues.


Learn more about Picture Prompts here and find all of our prompts in this column.

Students 13 and older in the United States and the United Kingdom, and 16 and older elsewhere, are invited to comment. All comments are moderated by the Learning Network staff, but please keep in mind that once your comment is accepted, it will be made public.

Word of the Day: fortuitous

0
Word of the Day: fortuitous

1. occurring by happy chance; lucky

2. having no cause or apparent cause

_________

The word fortuitous has appeared in 71 articles on NYTimes.com in the past year, including on June 10 in “Netflix: The Store!” by John Koblin and Sapna Maheshwari:

Products based on entertainment hits go back to the early days of Hollywood. Disney sold plates, jigsaw puzzles, tin pails and other goods featuring Mickey Mouse, Pinocchio, Snow White and other characters as far back as the 1920s. Decades later, George Lucas made a fortune thanks to a fortuitous deal he cut with Fox that let him hang on to the rights to “Star Wars” products in exchange for a discount on his director’s fee, an arrangement he made before the first film in the series came out.

Can you correctly use the word fortuitous in a sentence?

Based on the definition and example provided, write a sentence using today’s Word of the Day and share it as a comment on this article. It is most important that your sentence makes sense and demonstrates that you understand the word’s definition, but we also encourage you to be creative and have fun.

Then, read some of the other sentences students have submitted and use the “Recommend” button to vote for two original sentences that stand out to you.

If you want a better idea of how fortuitous can be used in a sentence, read these usage examples on Vocabulary.com.

If you enjoy this daily challenge, try one of our monthly vocabulary challenges.

Students ages 13 and older in the United States and the United Kingdom, and 16 and older elsewhere, can comment. All comments are moderated by the Learning Network staff.