fbpx
Home Blog Page 1345

9 weird online courses you must check out!! 

0

Online courses are designed in such a way that their knowledge sharing is profitable, desirable, significant, relevant, and meritorious to students. But there are courses online which, though have significance, are surprising and weird. They are subjects which you would not have even thought of getting trained on. Now check these weird online courses

  1. Antiquities trafficking and Art Crime: The University of Glasgow has developed this course and is available free online. You will learn the social, political, and moral issues associated with the trafficking of antiques and what is the idea and criminological aspect behind the crime. The tutor is none other than Donna Yates, an Archaeologist in criminology.

Link: https://www.futurelearn.com/courses/art-crime

  1. Why We Post-The Anthropology of Social Media: Social media is the talk of the century, but ever thought what their impacts are and why do we post on social media. Find out the same in this free online course, which basically teaches you on the various uses and its consequences of social media. Duration of the course is five weeks and is developed by UCL.

Link: https://www.futurelearn.com/courses/anthropology-social-media

  1. Babies in Mind- Why the Parent’s Mind Matters: This free online course designed by the University of Warwick, and taught by Jane Barlow- Director of Warwick Infant and Family Wellbeing Unit, and Dawn Cannon- Course Director for Infant Mental Health Online is based on why and what are the influence of parent’s thoughts and minds during pregnancy, on the unborn baby. The course elaborates the concepts of the psychology related to the infant and how parents influence that.

Link: https://www.futurelearn.com/courses/babies-in-mind

  1. Lottery of Birth: Study as to where, when, and to whom you were born has affected or can affect the course of your life. How you are being born at a particular time, place, location. Society, community, gender and nation can influence your life? The duration of the course is four weeks and is developed by the Open University UK.

Link: https://www.futurelearn.com/courses/lottery-of-birth

  1. Death: The philosophy of the truth of life- Death is being transformed into a free online course by Yale University and is very fascinatingly presented by Professor Shelly Kagan. He, in a very philosophical manner, takes the twice a week, 50 minute class and throws light on subjects like immortality, attitudes towards death, death and evil and much more.

Link: http://oyc.yale.edu/philosophy/phil-176

  1. Music as Biology: Created by the Duke University with Daul Purves this free online course defines in detail how sound, its tone can trigger human emotions? Which tone sets the positive emotions and which are the causes of mind diverting in the not so positive frame? How the mechanics of sound get correlated with the biological sensory stimulus? The perception of sound and its tonalities are discussed in this course and explanations on why we like certain scales and not others? The effect of socioeconomic cultures of music and human emotions are described in the course.

Link: https://www.coursera.org/learn/music-as-biology

  1. Terrorism and Counterterrorism: The twenty-two weeks-long free online course is developed by the Georgetown University and is being created by Jonathan Brown and Daniel Byman. It primarily explores the differentiation of defining terrorism, different philosophies followed by terrorist groups like – Al Qaeda, the ISIS, the Hamas and much The course allows takes you through the technology used by the terrorist, their recruitment process, and how counterterrorism under the rule of law is undertaken.

Link: https://www.edx.org/course/terrorism-counterterrorism-georgetownx-guix-501-03x

  1. Understanding the Origins of Crime: The course deals with the selection of crime as a profession or by chance or may a natural process, by an individual. It discusses the reason as to how criminals take crime as a natural selection? It deals with the process of this selection and what is the behavior of the criminal and how you can predict that. The four-week long course is developed by the Griffith University with Aaron Sell and is available as a free online course.

Link: https://www.open2study.com/courses/understanding-the-origins-of-crime

  1. Calling Bullshit in the Age of Big Data: This astoundingly weird course is designed by the University of Washington and has Carl T. Bergstrom and Jevin West as the instructors. The objective of the course is to recognize bullshit and deactivate it. The basis that the world is full of bullshit and you must be armed accordingly to fight them back. You must be in a position to figure out what kind of bullshit you are encountering and why the same is bullshit. Once done, you must frame a satisfactory explanation to counter it.

Link:  http://callingbullshit.org/

The need of all these online courses can only be justified when the benefits are reaped by the students. Nevertheless, everything has a flip side to it and its utility can only decide the significance. Any course taken with a target, a positive attitude and learned properly will surely provide dividends.

5 Things not to do while learning Online

0

Online Learning- Flourishing

With the birth of online learning in the 80’s, it has drastically changed the training industry and is showing rapid progress and evolution.

Thousands of free online courses are offered by universities like MITOCW, MOOC providers like edX, Coursera, FutureLearn and NovoEd.

Organizations prefer online training and development courses for their staff to save massively on cost and time, and at the same time sharpen their skill-sets. Fortune 500 firms organized 73.6% of their technology-delivered training through online methods (workforce.com). 28.1% revenue (that is $56.2 billion out of the total $200 billion) of the corporate training industry comes from eLearning (Global Industry Analysts).

Challenges

Though online learning is totally different from traditional classroom training in terms of attending classes and interacting with trainers & students, it is no different when it comes to actual learning. It comes with its own challenges in the time of distraction. Either you are a beginner or advanced learner, there are few things which should be avoided while learning online to get maximum benefit out of it.

  1. Enrolling without Complete Info: A common mistake made by students, sometimes even by professionals, is to enroll, just because someone referred or is pursuing that certification. You must not do this, as your goal, caliber, knowledge; future plans for career progression and affordability may or may not match with someone else’s. Even if you want to pursue a specific course you must go through the complete information on the course, match it with your needs, and verify its accreditation, market value and the support services they extend. There can be another academic advisor whose programs has a better marketability than yours.
  2. Wait or take things for granted: The beauty of the online ecosystem is that nobody is visible, so you must feel the presence and show your presence to your academic advisor. You must ask a lot of questions, doubts, information and queries. You must explore the possibilities and opportunities of finding answers from websites like stackoverflow, Quora and other forums as well. Another beauty of online learning is, flexibility in timings, you get your answers anytime, any day even midnight.
  3. Surrender to Procrastination: Chances of developing procrastination are quite high unless you have a fixed scheduled time every day, just like a traditional classroom hours. This makes you stick to the plan & develop a habit of persistence as well. Along with having a scheduled time, you also need to make sure you turn off notifications on phone especially social media notifications. Plan your day and schedule your study time so that you do not stay behind.
  4. Feel alone: It is usually felt that when you are learning online you are alone. The fact is you are not alone, but have hundreds and thousands of similar people doing the course, instructors and advisors. The benefits of interacting with others is, you get new information, share ideas, concepts and grasp concepts faster. When you do not do you miss learning new and innovative things. Try to socialize in this environment to learn better and faster. Do not limit yourself; explore things, people, groups who can enrich your online learnings. This is also a way by which you can resolve or clarify and question or query.
  5. Do Not Celebrate: People get bored and lose interest slowly while learning online. The Very common reason behind it is they do not celebrate their accomplishments. You must celebrate your achievements, even if they are small, like finishing a chapter which you felt was quite lengthy and tough. Like how you managed to complete a field activity, without hampering your daily official responsibilities. All these will keep you motivated and you will elevate your mood and rejuvenate yourself. In the ecosystem of online learning, the possibilities of getting praised are very minuscule.

Your decision to opt for an e-learning course can get you dividends only when the direction chosen is correct and you follow the order. Your sense of commitment, time-management, self motivation and temperament are the key to learn things faster, smoother and adapt to learning online effectively. You just must align all these to the online learning ecosystem.

Best Compilers/Interpreters to Practise Programming Online

0

There are numerous programming languages available these days for developers and every language comes with some amazing features and supported tools to suit various programming needs. Many of these programming languages are either compiler based or interpreter based, so programmers would require a Compiler or an Interpreter software to execute and test the codes.

Most programmers use an offline compiler program to support their programming needs, but there also many online compilers and interpreters available which coders can utilize. An online compiler helps a programmer write and test his codes online without the need to install any software on his/her system. Online compilers and interpreters are also better since they are mostly cloud based and help improve the productivity of a programmer.

Below we are mentioning some of the most popular online compilers and interpreters available where a programmer can learn and practise programming.

  1. CodePad

Codepad is an online tool for coders to compile their code and collaborate with teams. The tool provides the coders a specific URL for their code which they can share with others. It is a simple online tool where a programmer can code and execute it. This easy to use tool also works on mobile devices perfectly. The languages which this tool supports are C, C++, D, PHP, Ruby, Python, Perl and many more.

Codepad can be accessed online at www.codepad.org

  1. Ideone

Ideone is an online IDE and debugging tool with support for more than 50 languages. This is not just a pastebin like codepad, but it is a full featured debugging tool. The tool also provides the functionality of making code private or public. Public codes are viewable publicly on the recent codes section. The users can sign up for an account and save their codes in an organised manner.

Users can access this debugging tool at www.ideone.com

  1. JDoodle

This is another simple online editor and compiler which supports numerous programming languages. JDoodle has support for all standard online libraries, so that programmers can conveniently utilize the tool to edit, execute and share codes online. There are also features to do peer programming. Account holders can watch other programmers coding and make corrections to their programs.

The website link for JDoodle is www.jdoodle.com

  1. W3Schools

The most famous online tutorials website for web programmers also comes with online compilers for various scripting languages. This is probably one of the best websites to learn programming online and also practise codes side by side on the compiler functionality provided. The website contains tutorials and tools for HTML, CSS, JavaScript, jQuery, AngularJS, PHP, ASP, SQL, NodeJS and various other web technologies.

The official website is www.w3schools.com

  1. Hacker Earth

This online compiler supports nearly 36 programming languages and needs to be logged in to gain acquaintance to online compiling by programmers. HackerEarth can record all your changes as a video as well. The website also hosts various programming competitions for its users. HackerEarth is a big community of programmers and the website also supports companies to hire the best technical talent online. Henceforth, the users also get opportunities to prove their talent and get hired in good technical companies through this website.

Programmers can access the tool here code.hackerearth.com

  1. Coding Ground

This is another good online tool which allows coding and executing programs in multiple languages. The parent company TutorialsPoint also has a huge knowledge base of tutorials which the coders can utilize to practise and learn programming online. Coding Ground provides multiple useful options which include creating a new file, saving a file, organizing files my creating projects, etc.

The online tool is available at www.tutorialspoint.com/codingground.htm

  1. Codechef

Codechef is a competition based programming website. Being one of the best options for running programs online, it also accentuates your skills as you are constantly in talks with other competitors and experts. More of a learn and do facility, codechef caters practice and competition at different levels of skills.

This tool can be accessed at www.codechef.com/ide

  1. Rex Tester:

RexTester helps programmers to execute their codes online. Initially started as a regular expression tester tool for dotnet, rextester now supports more than 40 languages. This is an easy to use tool with a simple UI. Users can also share their codes on the “Code Wall” section and ask for live cooperation from other coders.

The tool is available online at www.rextester.com

  1. JS Fiddle

JSFiddle is an online coding and collaboration tool for HTML and JavaScript programmers. Coders can write and test their HTML, CSS and JavaScript or CoffeScript codes online on JSFiddle code editor and also share their codes with others. This is probably one of the best tools for Web Programmers with four different sections for HTML, CSS, JavaScript and Result respectively.

This tool is available online at www.jsfiddle.net

  1. GCC Explorer

GCC is a web based tool specially launched for C++ programmers. It is a very useful tool for debugging and researching. This tool provides features wherein a programmer can explore the output of the code. The supported languages are C++, D, Rust and Go. Programmers can also share their codes through a URL which the tool generates for every code. There is a share option the right hand side and the tool also has options to change the view.

The website to access and utilize GCC Explorer is https://godbolt.org/

  1. DJGPP Public Access Cross-Compiler

The DJGPP Compiler, being managed by Delorie software is an easy to use, convenient tool to compile and run code online. If a programmer wants to compile a DOS program and he does not have access to a DOS machine, he can use this tool.

The web link for the tool is http://www.delorie.com/djgpp/compile/

  1. ShiftEdit

An online compiler for languages like PHP, Ruby, Python, HTML, and Java, this is basically a compiler for web site development programs. This is a paid tool which also includes features for GitHub Integration, BitBucket Integration and deploying AWS servers or Linode. The pricing structure starts from $6 per month, which includes real time collaboration facility.

The official website is www.ShiftEdit.net

  1. Source Lair

SourceLair is a cloud based IDE tool which lets the programmer code and test scripts online. The tool is very simple with an attractive UI. SourceLair is a paid tool, but they provide a free trial so the users can test the tool before trying paid account. Account holders of sourceLair can also group up their works and organize them in folders. SourceLair also has a mobile app and a chrome store app which the programmers can utilize.

The users can utilize the tool by logging on to the www.sourcelair.com/home website.

Conclusion

In today’s world, everyone wants to learn the basics of programming, but setting up a programming environment offline (in a computer system) can be difficult for beginners. The advantage of using online compilers is that the user doesn’t need to have own PC or laptop to learn, all one needs is just a web browser with an internet connection. Users can save their programs online & can access from anywhere. The users can select any online compiler or interpreter to suit his or her programming needs. The tools mentioned above work online and help their users practice and learn programming online conveniently.

Learning With: ‘Need a Refresher on the War in Afghanistan? Here Are the Basics’

0
Learning With: ‘Need a Refresher on the War in Afghanistan? Here Are the Basics’

2. How did the war begin? What did the Bush administration hope to achieve?

3. Why are American troops still in Afghanistan? What are they trying to achieve now?

4. Who are the Taliban and how much control do they have in Afghanistan?

5. On Jan. 28, American and Taliban officials announced a preliminary framework for peace. What are the terms of this framework and why is it significant?

6. In what ways has the United States’ approach in Afghanistan changed under President Trump?

7. What is one major reason this war is unpopular with Americans?

Finally, tell us more about what you think:

In December, the Trump administration announced the withdrawal of United States military forces from Afghanistan. But in January, the Senate, in a bipartisan rebuke to Mr. Trump’s foreign policy, voted overwhelmingly to advance legislation to express strong opposition to the withdrawal of troops.

Should American forces remain in Afghanistan? Or is it time to end this country’s longest war? Two Opinion pieces offer differing opinions:

In “Our Longest War Is Still an Important War,” Michael E. O’Hanlon writes about why the United States needs to keep troops in Afghanistan:

There is still a strong case to sustain America’s longest war — especially if we redefine it, away from nation-building and toward something more like an enduring partnership with the Afghan people against regional and global extremism. Indeed, Washington should stop looking for an exit strategy and view Afghanistan as one pillar in a broader regional web of capabilities against Al Qaeda, the Islamic State and related movements that show few signs of dissipating. Over time, we can gradually reduce our forces, but we will want selective intelligence and military capabilities in South Asia for many years to come …

There will of course be no outright victory in Afghanistan anytime soon, and any peace deal with the Taliban remains a long-shot. But the United States-NATO mission in Afghanistan can continue to protect the West from large-scale terrorist attacks originating in South Asia, while gradually declining in size in years to come. And Afghans can still sustain the patient hope that their country will stabilize and strengthen over time.

In “End the War in Afghanistan,” the Editorial Board counters:

Any reckoning with the longest war in this country’s history must also grapple with one of its gravest miscalculations. We need to recognize that foreign war is not a vaccine against global terrorism. In fact, the number of Islamist-inspired terrorist groups has grown worldwide since 2001, often in response to American military intervention.

Nearly two decades of terrorist attacks — here and abroad by attackers both foreign and domestic — have shown the obvious: that terrorism is a tactic, not an enemy force that can be defeated, and it knows no borders. It can be thwarted in certain instances, but it cannot be ended outright.

If efforts to deal with international terrorism are to be sustainable indefinitely, they need to rely principally on intelligence and interdiction, diplomacy and development — not war without aim or end.

The troops have fought bravely in Afghanistan. It’s time to bring them home.

What’s your opinion? Based on what you have read and viewed, do you think the war should continue? Or is it time for it to end? If you’re still not sure, what additional information would help you form an opinion?

Globe and Books

0
Globe and Books

What do you think this image is saying? Can you relate to it personally in any way? What is your opinion of its message?

Tell us in the comments, then read the related article to learn about the inspiration behind this illustration.

Find many more ways to use our Picture Prompt feature in this lesson plan.

Word + Quiz: geniality

0
Word + Quiz: <strong></strong>geniality

Note: Our Sixth Annual 15-Second Vocabulary Video Challenge is underway. It will run until Feb. 18.

: a disposition to be friendly and approachable (easy to talk to)

_________

The word geniality has appeared in five articles on The New York Times website in the past year, including on July 17 in the obituary “Dr. Alan S. Rabson, Influential Cancer Researcher, Is Dead at 92” by Gina Kolata:

In addition to his scientific and administrative achievements, colleagues say, what made Dr. Rabson stand out were his kindness, his empathy, his geniality and his willingness to help anyone with a cancer diagnosis who was seeking advice or a referral to an oncologist.

“You could not be in his presence without smiling,” said Dr. Francis Collins, director of the National Institutes of Health, of which the National Cancer Institute is part.

What Is Your Reaction to the Racist Photo on the Virginia Governor’s Yearbook Page?

0
What Is Your Reaction to the Racist Photo on the Virginia Governor’s Yearbook Page?

What have you seen or heard about the controversy related to Gov. Ralph Northam of Virginia and his 1984 medical school yearbook?

Watch the above video for a summary.

What is your reaction to the video? Why do you think a yearbook photo has provoked such a response?

In “Virginia Governor, Ralph Northam, Defies Calls to Resign Over Racist Photo,” Jonathan Martin, Trip Gabriel and Alan Blinder write:

Gov. Ralph Northam of Virginia, defying pleas from his own party to resign, said on Saturday that he would remain in office, and flatly denied that he had worn Ku Klux Klan robes or appeared in blackface in an image from his medical school yearbook that has upended his governorship and embarrassed his fellow Democrats.

“It was definitely not me,” Mr. Northam said at an afternoon news conference. “I can tell by looking at it.”

But within hours, three of the state’s most senior Democrats said they had called Mr. Northam to tell him to step down, depriving the governor of his last remaining support and intensifying the pressure on him.

“We no longer believe he can effectively serve as the governor of Virginia and that he must resign,’” Senators Mark R. Warner and Tim Kaine and Representative Robert C. Scott said in a statement.

Addressing reporters in the governor’s mansion, Mr. Northam said he had initially acknowledged that it was him in the photograph when it first surfaced on Friday because he wanted to “take credit for recognizing that this was a horrific photo that was on my page with my name on it.”

He said that after talking on the phone with friends and family in an effort to jog their memories about the photograph, he decided to reverse course, because he concluded that it was not him in the racist attire.

However, he may have made his effort to remain in office more difficult by revealing that on another occasion, he had darkened his face with shoe polish for a Michael Jackson costume in a dance contest in Texas in 1984, when he was a young Army officer.

“I look back now and regret that I did not understand the harmful legacy of an action like that,” he said.

The article continues:

But now that he has lost support from nearly all his allies in the state capitol — both the House and Senate Democratic caucuses have urged him to quit — it is not clear how long Mr. Northam can last. He will have a difficult time recruiting businesses to the state and could also face challenges raising campaign contributions, which is crucial given that all 140 seats of the state legislature are on the ballot this fall and Democrats need to win only a handful of races to take control of both chambers.

Further, Mr. Northam is confronting a national party that will not ease up on him.

Democrats in the Trump era have adopted a sort of zero-tolerance approach in their ranks toward misconduct involving race and gender. With Republicans eager to level accusations of hypocrisy, Democratic leaders in Washington have sought to aggressively police the sort of misdeeds they have linked to Mr. Trump. They have pushed out lawmakers such as former Senator Al Franken of Minnesota and former Representative Ruben Kihuen of Nevada, both of whom were accused of sexual harassment.

With the 2020 Democratic presidential primary race getting underway, the pressure on Mr. Northam has been even more intense: The party’s White House hopefuls were some of the first officials to call on him to resign Friday night, beginning a cascade of demands that extended through the day Saturday.

Students, read the entire article, then tell us:

— What is your reaction to a photograph showing people in blackface and Ku Klux Klan robes displayed on Mr. Northam’s medical school yearbook page? What is your response to the Virginia governor’s admission that he had darkened his face with shoe polish for a Michael Jackson costume in a dance contest in 1984? And what is your response to the growing pressure on Mr. Northam to resign?

— Do you think he should remain governor? Should he resign now? Or should we wait for more information?

— What do you think will happen?

— In his apology on Friday, Mr. Northam stated, “That photo, and the racist and offensive attitudes that it represents does not reflect the person I am today or the way that I have conducted myself as a soldier, doctor or public servant.” How much should a person’s past actions or behavior be relevant to today? Should adults — especially elected officials — be held accountable for all of their actions, no matter how long ago they took place? Or should they be allowed to “change and grow,” as a Times reader suggested in her letter to the editor.

— Mr. Northam told reporters on Saturday that “I look back now and regret that I did not understand the harmful legacy of an action like that.” He was referring to the time in 1984 when he darkened his face with shoe polish for a Michael Jackson costume. In a related Opinion piece, “Blackface Is the Tip of the Iceberg,” Jamelle Bouie writes:

The most popular form of entertainment in 19th century America, which continued well into the 20th, blackface minstrelsy was defined by its caricature of and gross hostility toward black Americans. In the minstrel show, blacks — and free blacks in particular — were objects of ridicule, lampooned for seeking equality and respectability. Beyond simple mockery, the pleasure of blackface for white performers and their audiences lay in the vicarious experience of an imagined blackness — a wild, preindustrial “savage” nature that whites attributed to black Americans.

Should Mr. Northam have known the history and legacy of blackface minstrelsy in 1984? Is it just as bad if he didn’t?

Students 13 and older 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.

Updates to the Code Foundations Path

0
Updates to the Code Foundations Path

We’ve got some good news for you: we’re adding new content to our Code Foundations Path!

Why?

Most people who come to Codecademy have never written a line of code before. Code Foundations guides new learners through the world of programming, through an exploration of different domains such as web development and data science.

Variables

In the spirit of Code Foundations, we’ve developed new material that gives learners an opportunity to learn what programming is and what programming is like, without having to commit to any one language or technology.

The new Learn How to Code course teaches programming fundamentals in a series of fun, interactive lessons. It’s an approachable way to start writing code, regardless of your interests, and it’s intentionally designed to be accessible to learners of all ages and experience-levels.

Functions

Over the course of Learn How to Code, you’ll learn basic programming concepts, such as:

  • Variables
  • Data types
  • Operators
  • Functions
  • Control flow
  • Lists
  • Loops

Lists

In each lesson, you’ll learn about a concept, then apply your knowledge in games and short coding exercises. By the end of the course, you’ll be ready to tackle any programming language—whether it’s learning Python for data science, or JavaScript for web development.

Loops

How does this impact you?

If you’ve already started or completed the Code Foundations Path, you will see a new track towards the beginning of the path that contains the new Learn How to Code course.

You won’t lose progress on the coursework that you’ve already completed; however, you may notice that your overall progress percentage has decreased, as there is a greater amount of content included in the Path.

When?

The path will be updated beginning at 1:00 PM EST on Monday, February 4th, 2019. The content will be available during the update.

How to Build a Data Science Portfolio

0
How to Build a Data Science Portfolio

A lot of us, data fans, are trying to launch data science careers, and we do not initially have work experience. In fact, we are looking for a first data science role so we can check off the work experience requirement that is listed in most data science job postings. To get unstuck from this catch-22, we need to complete projects and build a data science portfolio.

dsjob_search

A data science portfolio is a great way to showcase your skillset in lieu of work experience. It also demonstrates your passion for data science, and assuming that passion is genuine, you will also have a lot of fun completing your own projects and learning new data science skills through them. This article will provide some tips to help jumpstart your data science portfolio.

Talking to Data Scientists

There are two ways to better understand the skills you need to showcase in your data science portfolio: talking to data scientists and analyzing data science job postings.

It may sound simple, but many people should be spending more time talking to other data scientists. In hot data science cities like New York and San Francisco, there are many events where data professionals and “amateurs” alike meet and discuss the data science projects they are working on. Meetup and Eventbrite are great resources to find these gatherings.

gatherings

For those of us living in areas where data science meetups aren’t as common, there are still ways to find other data scientists. My preferred method is to read the Towards Data Science blog. When I read an article I really enjoy, I often find and connect with the author on LinkedIn.

My naive assumption is that people who dedicate their time to writing data science blog posts love talking about data science, and they would likely enjoy talking to me about it. Below is an example of my interactio with one such author on LinkedIn:

LinkedInConvo2

The data science community is an incredible resource, and tapping into the expertise of others in the field will accelerate your growth.

Reading Job Postings of Your Dream Job

Another way to identify skills to showcase in your data science portfolio is to analyze job postings. Hiring managers will include the skills they are looking for in the job posting. Reading these descriptions will help you understand what skills you need to showcase.

LinkedIn and Glassdoor are great websites for finding data science job postings. However, an even better resource would be the network you’ve formed by talking to other data scientists. Many job opportunities aren’t even posted online, and the only way to find out about them would be through referrals.

job_board

While looking at job postings, make sure to find multiple options you are interested in. Just as you don’t want to build a machine learning model that overfits to a small and narrow dataset, you don’t want to build a portfolio that is based on limited insight from only one job posting.

In addition, some organizations that are newer to data science may not have a clear idea of the type of data scientist they’re looking for, and the job postings they create may be overwhelming.

Below are some quotes from data analyst and data science job postings I’ve found through LinkedIn jobs:

“Strong Microsoft Excel skills. Must have working knowledge of pivot tables, formula creation, conditional formatting, VLOOKUP, and Index Matching.”

“Working knowledge of database structures (SQL, Access, etc.)”

“Ability to independently produce high-standard, presentation-ready deliverables

“Strong Knowledge in Data Science, Data Analytics, R, Python, Etc”

“Strong Knowledge in Statistics, Mathematics and Machine Learning

“Use data visualization tools and programming languages like Tableau, Hive, Oracle, R, Python, Excel, Workday, Vizier and many other internal tools to work efficiently at scale”

This is just a starting point, and depending on your desired industry and type of data science job, you may find different desired skills listed in the job postings you read.

Find a Dataset to Address a Problem You’re Curious About

Now that you’ve identified the skills you need to showcase, it’s time to generate project ideas. There are many other people already doing data science projects and sharing them online. Looking at other people’s projects might give you inspiration for your own project ideas. Below are two great places to see other people’s data science projects:

Another great way to generate project ideas is to find datasets that interest you. Below are some resources to help you find free datasets:

In my case, I wanted to do projects that showcase my interest in education. One project I found especially interesting was Predicting School Performance With Census Data.

After searching for education datasets in the Google Dataset Search Tool, I came across the College Scorecard, which includes data on U.S. higher education institutions. Someone in my network mentioned that she wanted to do work with community colleges, so I thought it would be cool to do a project exploring trends in U.S. community college enrollment.

“Complete” Your Project and Seek Feedback

Completion is a vague term because there is almost always additional work you can include on a given project. The key is to set clear milestones for yourself. For example, in my College Enrollment Exploration project, I wanted to showcase some of my data visualization skills. In this case, my milestone was a slide deck with visualizations explaining the data.

college_enrollment

Once you have reached a milestone, make sure to seek feedback. Create a Github repository for your project, and share your Github repository with your network.

In the beginning, you will likely receive constructive criticism. Here is the Github repository for my College Enrollment Exploration project. Clearly, I have a lot more work to do, and below are some areas that need additional work:

  • My Github Repository does not contain a readme file that describes the organization of the repository and a description of each file.
  • I did not include a pdf file for my slide deck, and I did not discuss the “business problem” I was trying to address.
  • My Jupyter notebooks did not include comments on my overall thought process.
  • Although I stuck to orange and blue for my visualizations, I alternated the representation of data (orange and blue were both used to represent both community colleges and other colleges). This could be confusing for my target audience.
  • I did not regularly commit and push changes to my Github repository as I was working. Rather, I only started making commits towards the end of my project.

project_process

My project clearly isn’t ready for my portfolio yet, and that is okay. If I continually make progress with the guidance of my network, the project will eventually help me differentiate myself from other data science candidates. More importantly, continually cycling through the feedback loop will accelerate my learning and ensure that my work is aligned with hiring managers’ needs.

Brag About Your Project

Eventually your project will become portfolio-worthy, and people in your network will actually encourage you to share your work with others. At this point, you should add a link to your Github repository on your LinkedIn profile and resume.

In addition, you may choose to write a blog post to practice your written communication skills. Medium is a great platform for first time bloggers to create posts.

You may feel trepidation when broadcasting your work in this way for the first time, and that is completely normal. The important point to keep in mind is that if the data science community has been a valuable resource for your growth, by posting your work, you are helping others overcome their own challenges as they enter field of data science.

medium

This will also be a good time to brag to your non-technical friends about your project. In business, data scientists often have to communicate with non-technical stakeholders, and this is a wonderful opportunity to practice that skill. In general, my friends are curious about my work, and they enjoy conversations about data science (given that I communicate in a way that they can understand).

ds_conversation

Repeat

Data scientists do data science. Although you might not have a job as a data scientist yet, by completing data science projects, you are doing data science (and, dare I say, you are a data scientist).

Of course, many of us are starting at level zero, and our first few projects won’t have the level of sophistication of more experienced data scientists’. By continually doing projects, we can level up our skills and eventually work on cooler projects.

After your first project, you may continue to expand the scope, or start on a new project with a new dataset. In my case, once I have completed the visualization milestone for my College Enrollment Exploration project, I could try implementing machine learning algorithms, or I could shelve it and begin working with another dataset (such as NCES’s Common Core of Data). The key is to work with datasets and topics that interest you while continually expanding your capabilities.

5 Skills Developers Need Beyond Writing Code

0
5 Skills Developers Need Beyond Writing Code

Learning to program tends to center around, well, programming. When I first got into computer science, writing small programs from scratch served as my primary way of reinforcing the concepts I learned, and this type of practice proved crucial to my skill development. However, when I started my first real job as a software developer, I found that I spent the majority of my time on tasks besides writing code, tasks requiring a different set of skills.

Naturally, the exact skills required by different programming-related jobs vary. Data analysts writing scripts to process information will not spend their days the same way as technical services representatives working to solve problems for customers. Even two software engineers within the same organization could have wildly dissimilar day-to-day duties.

The skills described below are critical in many of these types of positions, though, so beginning to practice them now could give you a leg up in the job hunt and help you to succeed in your career.

Reading Other People’s Code

Whether searching for a bug or figuring out how to add a new feature to existing software, programmers spend a lot of time reading through other people’s code. This may sound like a relatively easy task. After all, writing code is harder than reading it, right?

Not necessarily. Major software applications can contain millions of lines of code, which often work in complex or unintuitive ways. Diving into one of these applications and trying to make sense of it can feel overwhelming, especially if the comments and documentation are inadequate (which isn’t exactly a rarity). Even small programs can be a big pain to read through if the logic behind them is unclear, or if they were written by the guy in the cubicle next to yours who names all his functions after Game of Thrones characters but knows the CEO as “Aunt Liz.”

NeedlesslyConfusingCode

Even simple functions can be difficult to read due to poor code organization and naming conventions, as well as a lack of any comments.

Learning to trace through code and glean the relevant information without getting bogged down takes time, and reading through small code samples will only do so much to develop these skills. Happily, open-source applications (such as those hosted on GitHub) provide a wonderful practice resource.

Completing some minor fixes on major open-source projects will help you learn how to approach a massive code base, as well as give you the opportunity to improve software used by multitudes of people. Or, if you don’t feel ready to contribute, just trying to figure out how segments of the applications work is a great learning experience.

As a bonus, struggling your way through a mix of open-source applications should show you the difference between good code and the not-so-good. Writing readable code will save your coworkers time and headaches, so learning by example what proper style and clear, informative comments look like makes you that much more valuable as a programmer.

Writing succinct-yet-informative explanations of what your code does makes your coworkers’ jobs significantly easier. While different organizations will have their own preferences regarding the specifics of documentation and comments, there are a few guiding principles to keep in mind:

First off, when describing the purpose of a new piece of code, make sure to explain what this code accomplishes that the preexisting code did not.

For instance, if there is an existing function that does x, and you write a new function that calls that existing function and reformats the output, your description of the new function should mention the reformatting (i.e. the new functionality added by this particular function), rather than just saying it does x (which it only accomplishes by calling the preexisting function).

If we don’t do this, then figuring out how a program works or where to insert code becomes more cumbersome. I once ran into a train of six functions (the first called the second, which called the third, etc) which all had identical vague descriptions, and I’m sure I’m not the only one who burnt through precious development time figuring out what each of them actually did.

Explaining the purpose of a non-intuitive line or algorithm can speed up the reading process, whereas just translating each line of code into English bogs readers down.

UnhelpfulComments

Comments like this can get tedious quickly.

Finally, keep all your audiences and their goals in mind.

If you are writing formal documentation of a new feature so that a client can approve it, a testing team team can validate it, and another development team can figure out how their project will interact with it, you should provide the particular information each of them needs. Keeping the purposes of your documentation in mind will help ensure it winds up fulfilling these purposes.

You can practice these skills while working through your Codecademy exercises. Add comments to your code or write up some simple documentation outlining what your projects do as you work through the lessons. Later on, once you’ve forgotten the specifics of these exercises, read back through them. Do your comments make understanding your work easier? Can you quickly glean enough information to know what each function or class does? Could you figure out how to test your code from the documentation?

Testing Your Code

A programmer’s job isn’t really done until their code is not only written, but tested and verified to work as expected. Even if you work for an organization with a designated team that handles testing, knowing how to run some basic checks can prevent you from passing off code with clear errors. Since getting back up to speed on a project takes time, this can prevent both you and the testing team from wasting precious hours handing the same project back and forth unnecessarily.

Testing can take many forms, from manually running your program to using thorough, pre-written test scripts. It can involve unit tests (which check if individual modules or functions work), integration tests (which see if different modules work together), and system tests (which determine if the overall system meets its specifications).

In all these various forms, though, it is important to take an organized and disciplined approach, and to think through the different possible inputs and ways of interacting with the program that we need to account for. List out everything you need to check before you start, and refer to this list throughout the testing process to ensure you don’t forget about anything. Also, make sure you check the edge cases and try doing things wrong. Users make mistakes, so it is crucial that our testing process explores how our software handles them.

unit-test-comic

Like most skills, we get better at testing the more we practice it. So, while many Codecademy exercises will validate your code for you, make a point of running your own tests. If you want more guided practice, consider taking Codecademy’s courses on the subject, Learn Testing for Web Development and Learn Javascript Unit Testing.

Communicating Effectively with Your Team and Clients

Programming often requires communicating with others. When writing software for clients or the public, we need to know about their needs and preferences in order to ensure our program will actually be helpful and intuitive.

When working as part of a development team, we need to make sure we are all on the same page about how the program will be structured, common conventions we will use, our timeline, and our individual responsibilities. When helping users encountering a software bug, someone in a customer support position might need to extract all of the potentially relevant information about the issue from the user and convey this info to a developer, who in turn may need to check with members of other teams to determine the nature of the problem and ensure that their fix won’t break something else. If this communication breaks down, it can mean disaster.

Effective communication involves more than just listening and saying what is on our minds. It requires asking probing questions to verify that we are all actually talking about the same thing, and being careful to avoid using jargon in the wrong context. It is surprisingly easy to accidentally talk past one another, especially if we are coming from different backgrounds.

I’ve been in a client meeting where my team asked if a certain piece of data needed to be “reportable,” a term we used to refer to items limited to a predetermined set of possible values. The client said “yes,” thinking that “reportable” just meant that they could access and print whatever value was entered for that item. If we had not asked follow-up questions that brought this miscommunication to light, our use of jargon could have led us to create a limited-option field where the client wanted an open-entry field.

Communication goes beyond just figuring out what we need to do and how we need to do it, though. It also entails managing expectations. If a client thinks we are going to implement an advanced AI feature that is simply outside of our capabilities, that’s a problem. If our coworkers expect we will have our interface ready this week when it will actually take another month, that’s a problem, too.

ahead-of-schedule

Managing expectations requires being honest about our uncertainties and proactive about reporting unforseen problems or delays. Sometimes, this can be uncomfortable. We might feel like we are letting the stakeholders down or admitting defeat. Or, we might just not want a client or manager to scream at us. Nevertheless, speaking up is likely our best course of action. Hidden problems grow and fester, whereas known problems can be addressed.

If you realize a deadline isn’t realistic, speak up before stakeholders make (more) plans that revolve around your work being completed on time. And if you need help, ask for it while there is still time.

Knowing When to Ask for Help

But when do we need help? Certainly, situations come up requiring reinforcements, a fresh set of eyes, specialized knowledge, or simply the benefit of advice from someone more (or differently) experienced. On the other hand, problem solving is a big part of programming, and if our go-to solution is “just ask the boss,” she might start to wonder what exactly we contribute.

Naturally, the proper balance between trying to figure out problems independently and seeking assistance will vary based on your particular role and organization, but following a few general guidelines can make finding this balance easier:

For starters, appreciate the value of everyone’s time, including your own.

Interrupting a coworker’s train of thought to ask a question you could find by reading relevant documentation isn’t respecting their time, but spending hours searching obscure corners of the web in vain hopes of finding an answer to a domain-specific question your coworkers would know isn’t respecting yours.

Second, keep the importance of a problem in perspective.

We all make mistakes, so getting a second (or third) opinion when you aren’t sure about something mission-critical is only prudent. Getting that third opinion about whether you should name a variable grades or grade_list? Not so much.

Be mindful of what falls under others’ areas of expertise, as well as what doesn’t.

If a coworker knows a lot more about a subject than you do, seeking their insight on a related issue can prevent you from making costly mistakes. If no one in your organization knows any more about that subject than you do, though, then asking them to figure out what you should do about a related issue starts feeling like asking them to do your job for you.

runtime-comic-1

Finally, get to know your abilities and limitations.

Developing a sense for how fast you can realistically work makes it a lot easier to tell if a looming deadline poses a problem, and seeing what kind of problems you can solve on your own will give you a better idea of whether you are truly stuck on something or just need more time to work.

This last part, at least, can be practiced while working through Codecademy’s courses. Coaches and the Codecademy community are more than happy to lend a hand when you get stuck, but trying to work past snags on your own first will give you a better sense of what sort of problems you can solve all by your lonesome.

Conclusion

One skillset does not fit all when it comes to programming. An epidemiologist using a script to parse through patient data has a very different job from the developers of a new mobile app or a software engineer at a large bank.

However, the skills above are crucial to a large subset of coders, so developing them—whether by checking out large-scale projects on GitHub or writing comments and a test script for a Codecademy project—can put you in a position to succeed post-Codecademy.