Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

JavaCentric

Creative Prezi Template for presenting the elements of success. A periodic table of elements on a piece of white paper. Customize for any topic and add your own keywords and content. Get this template from Prezibase.com
by

Emil Petru

on 24 August 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of JavaCentric

1
In
Interactions
2
Ap
Application SW
3
Ti
Tier
4
Hi
History
37
Se
SW engineering
6
Sn
Smartness
7
Id
Ideas
Ge
Tr
Tree
10
Us
Usability
Pt
Periodic Table
12
Co
Code
13
Mn
Money
11
14
In
Intro
25
Ca
Code Analyser
28
Te
Testing
18
Id
Ideas
29
Bu
Build Tool
31
Gr
Group
32
Id
Ideas
33
Ci
Continuous
Integration
34
Ar
35
De
Definition
36
Go
Good
5
Id
Ideas
38
Ov
Overview
39
Hi
History
40
St
Structure
41
Co
Content
Art, Artist...
43
Vs
C vs Java
44
La
JVM Languages
45
Id
IDE
46
Fu
Fundamentals
47
Ja
Java Special Api
48
Jt
Java technologies
49
Or
ORM
50
Se
Standard Edition
51
Ee
Enterprise
Edition
52
Db
SQL
53
No
NoSql
54
Ag
Agile
55
Sc
Scrum
56
Pa
Pair Prog
57
Le
Learning
58
Cm
Customors
59
Id
Ideas
60
Gt
Get
61
Cr
Creative
62
Mo
Monster
63
Sa
SafariBooksOnline
64
Ja
JAM
65
Ma
Magazines
66
Gl
Glossar
67
Id
Ideas
68
Id
Ideas
69
Us
UseCase
70
Ac
Action
71
Id
Ideas
72
Id
Ideas
73
Id
Ideas
74
Ce
Codeeval
75
Sp
Spectrum
76
Aw
Anywhere
77
Pb
Prezibase.com
90
Wa
Waterfall
89
V
V-modell
88
Id
Ideas
87
Tr
Trends
85
Re
Recruite IT
86
Sl
SlideShare
84
Id
Ideas
83
Fr
Friends
82
Id
Ideas
81
Id
Ideas
79
In
Indeed
80
Rl
RebelLabs
78
Ti
Tiobe
Java
centric
Collection of nice to know
facts
and
thoughts
on
Java
. It covers the developing of programming languages one from another, the pros&cons, domain usage and others. Mainly dedicated to
recruiters
, people with
no programming background
, but has also valuable
hints
for experts too.
Legend of topics
Ecosystem
Programmer
Methodology
About Java
Statistics
Designed by:
Hello,
my name is...
Java for recruiters
Tools / Information sources
UseCase - Glossar
Questions
Interactions with software

On a daily basis we interact with a lot of apps.
Which are the programms you know and use?
Ever thought how they were build?
Which are the key parts of them?
What is the difference?
Which do you think is more complex? Why?
Excel
Outlook
Sharepoint
Timetracking
Lync
ERP
S. factors
Cronos
Clarvision ERP
Notepad
Word
Some of them you use
locally
on your computer(
desktop/laptop
) : Notepad, Word, Excel, Outlook, ERP, Lync

Some you use from an
browser
: Cronos, Outlook(owa), Timetracking, Sucessfactors

Some you use from
mobile
devices: Cronos, Lync

With some you transfer
messages
as mails, with other as text or voice and with others just
data
.

All are different, all have different purposes, different aspects and
toolsets
.

All have a part the
user interacts
to and a part that's hidden.

Here we'll dive into the hidden sructure to understand how an app is actually built.

What is application software?


https://en.wikipedia.org/wiki/Application_software
https://www.techopedia.com/definition/4224/application-software

Application software
is a program or group of programs
designed for end users
. These programs are divided into two classes:
system software
and
application software
. While system software consists of low-level programs that interact with computers at a basic level, application software resides above system software and includes
database
programs,
word
processors,
spreadsheets
, etc. Application software may be grouped along with system software or published alone.

Application software may simply be referred to as an
application
.

In the enterprise environment key words are used, try to find the proper definitioins for:
- mobile application
- enterprise software
- business software
- enterprise resource planning systems



An additional note on two-tier architecture is that the word "tier" commonly refers to splitting the two
software layers
onto two different physical pieces of hardware.
Multi-layer
programs can be built on one tier, but because of operational preferences, many two-tier architectures use a computer for the first tier and a
server
for the second tier.


Tier
From an architectural point of view
an application can be logically devided
into more tiers depending of the
specific role one tire has.

We have to present something to the
user, do some work with input, bring data
from the database and file system, send
the data back for processing and show
the data back to the user.

https://alitarhini.wordpress.com/2011/01/22/concepts-of-three-tier-architecture/
http://de.slideshare.net/guestd0cc01/3-tier-architecture
https://en.wikipedia.org/wiki/Multitier_architecture
http://www.simcrest.com/blog/BlogEntry/35
Everything on
one machine.
Telnet 3270 -
Mainframe.
Client - Server
API - Application Programming interface
DB - Database
APP Server - Application Server
SOAP - Simple Object Access Protocol
XML - Extensible Markup Language
JSON - JavaScript Object Notation
HTML5 - HyperText Markup Language
CSS3 - Cascading Style Sheets
JavaScript - Limbaj interpretat
HTTP - Hypertext Transfer Protocol
SMTP - Simple Mail Transfer Protocol

WSDL - Web Services Description Language https://en.wikipedia.org/wiki/Web_Services_Description_Language
J2EE - Name befor Version 1.5 of JEE - Java Enterprise Edition
Servlets - A Java servlet is a Java program that extends the capabilities of a server. Although servlets can respond to any types of requests, they most commonly implement applications hosted on Web servers. Such Web servlets are the Java counterpart to other dynamic Web content technologies such as PHP and ASP.NET.
JSP - JavaServer Pages (JSP) is a technology that helps software developers create dynamically generated web pages based on HTML, XML, or other document types. JSP is similar to PHP and ASP, but it uses the Java programming language. In Java EE a (web) UI can be built using Servlet, JavaServer Pages (JSP), or JavaServer Faces (JSF) with Facelets.
EJB - Enterprise Java Beans is a managed, server software for modular construction of enterprise software, and one of several Java APIs. EJB is a server-side software component that encapsulates the business logic of an application.
SQL - Structured Query Language is a special-purpose programming language designed for managing data held in a relational database management system (RDBMS)
JMS - Java Message Service (JMS) API is a Java Message Oriented Middleware (MOM) API for sending messages between two or more clients. JMS is a part of the Java Platform, Enterprise Edition, and is defined by a specification developed under the Java Community Process as JSR 914.
Frontend / Backend - In software engineering, front end and back end distinguish between the separation of concerns between the presentation layer (the front end) - which is the interface between the user - and the data access layer (the back end). The front and back ends may be distributed among one or more systems.
http://de.slideshare.net/alinpandichi/software-development-the-java-perspective

https://en.wikipedia.org/wiki/Front-end_web_development
Please read the following:
POJO - In software engineering,
a plain old Java object
(POJO) is an ordinary Java object, not bound by any special restriction and not requiring any class path
JDBC - Java Database Connectivity (JDBC) is an application program interface
(API)
specification for connecting programs written in Java to the
data
in popular databases. The application program interface lets you encode access request statements in Structured Query Language
(SQL)
that are then passed to the program that manages the database. It returns the results through a similar interface.
ORM - Object-relational mapping (ORM) is a mechanism that makes it possible to address, access and manipulate objects without having to consider
how those objects relate to their data sources
.
http://www.sw-engineering-candies.com/blog-1/periodic-table-of-software-engineering-know-how
http://blog.osteele.com/posts/2006/02/stretch-languages/
http://de.slideshare.net/educationfront/introduction-to-programming-languages-28081901
http://de.slideshare.net/VarunGarg7/lect-1-introduction-to-programming-languages?next_slideshow=1
https://en.wikipedia.org/wiki/List_of_programming_languages_by_type#Fourth-generation_languages
3GL - high level languages
4GL - domain specific languages, like SQL, Regex
5GL - future oriented, more marketing than reality
https://www.nginx.com/resources/glossary/application-server-vs-web-server/
usually static content
usually dynamic content
http://spectrum.ieee.org/static/interactive-the-top-programming-languages-2015
Please visit the following site, you can find a lot of helpful information:
Laziness
: The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don’t have to answer so many questions about it. Hence, the first great virtue of a programmer.

Impatience
: The anger you feel when the computer is being lazy. This makes you write programs that don’t just react to your needs, but actually anticipate them. Or at least pretend to. Hence, the second great virtue of a programmer.

Hubris
: Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won’t want to say bad things about. Hence, the third great virtue of a programmer.
Characteristics of a
good programmer
. This is the kind of colleague we search for(must read):

http://de.slideshare.net/sophiadagli/good-qualities-of-a-devel
http://www.proprogrammer.net/2016/04/differences-between-coder-and-programmer.html
8
Generation
9
22
Id
Ideas
26
Wf
Web framework
30
Nj
Next JVM
19
Id
Ideas
15
Ds
DevSkiller
23
Fu
Future
27
Ap
Application Server
16
Vs
Versus
20
Mi
Minimum
24
Re
Repository
17
Jj
Java vs JavaScript
21
Fd
FrontDebug
What does a programmer need to know?
42
Jv
JVM
http://www.agilemanifesto.org/
http://matrix-soft.org/what-is-agile-team-software-development-proccess/
https://less.works/
http://agileatlas.org/articles/item/scrum-framework
IDE - Integrated development environment https://en.wikipedia.org/wiki/Integrated_development_environment
Framework - https://en.wikipedia.org/wiki/Software_framework
JVM, JRE, JDK - https://en.wikipedia.org/wiki/Java_virtual_machine#Java_Runtime_Environment_from_Oracle
SE - Standard Edition https://en.wikipedia.org/wiki/Java_Platform,_Standard_Edition
EE - Enterprise Edition https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition
https://zeroturnaround.com/rebellabs/the-adventurous-developers-guide-to-jvm-languages-java-scala-groovy-fantom-clojure-ceylon-kotlin-xtend/
http://slideplayer.com/slide/8493818/
About Domain, OOP, Object , Class, Jre, Jdk, JVM, Bytecode
Example Bank Domain
http://de.slideshare.net/JavedAhmedSamo/java-byte-code
https://zeroturnaround.com/rebellabs/the-complete-java-tools-and-technology-landscape-for-2014-report-data-in-a-single-mind-map-image/
http://de.slideshare.net/KaiWaehner/lessons-learned-use-of-modern-jvm-languages-besides-java-javaone-2012
http://carlcheo.com/startcoding
http://www.computerhope.com/jargon/b/byte.htm
http://www.tiobe.com/tiobe_index?page=index
http://www.tiobe.com/tiobe_index?page=programminglanguages_definition
http://zeroturnaround.com/rebellabs/top-4-java-web-frameworks-revealed-real-life-usage-data-of-spring-mvc-vaadin-gwt-and-jsf/
http://blog.codeeval.com/
http://blog.indeed.com/
http://spectrum.ieee.org/static/interactive-the-top-programming-languages-2015
One candidate in particular really threw a wrench in my process. When I clicked to open the resume for a
Java
Developer applicant, I was greeted with “Over three years of
Java
development experience during my time as a barista at Starbucks. I have excellent customer service, etc…..”. My first thought was “Sorry buddy, wrong kind of Java.” But then I found it humorous and shared with some of my colleagues.
Slang word for Coffee
https://devskiller.com/how-to-screen-java-developers-skills-to-find-the-best-guide-for-it-recruitment/
1. What is Java?
Java is a compiled, object oriented programming language, similar in syntax to C++. It is intended to let application developers “write once, run anywhere” meaning that compiled
Java code can run on all platforms that support Java without the need for recompilation
. Application written in Java have very good performance thanks to use of a
Just-In-Time compiler which continuously analyses the program speed and optimizes frequently executed spots
. Another key advantage of Java is an automatic memory management which allows developers to write applications without worrying explicitly about memory allocation and deallocation. As of 2016 it is one of the most popular programming languages in use. Java is not considered an easy-to-use language for non-programmers.
Java is to Javascript like
car to carpet
, so don’t confuse these two programming languages.
2. What is important for IT Recruiter to know about Java?
Before I go into details on how to screen Java skills first let me share some basics that will allow you to become more familiar with this technology.
Firstly,
Java world changes often
, so experience with framework gained 5 years ago is not valid anymore. Bare this in mind when you assess Java skills based on so far employment.
Secondly, in Java world ecosystem
knowledge of tools and libraries is more valuable than knowledge of the language itself
. Without it a programmer will write everything by himself from scratch and just waste time. If a developer is familiar with Java libraries and frameworks then he can use it like
lego
to make what they need and write code only where it is necessary. By doing it this way their work is much more efficient.
Last but not least
only commercial experience is important
. Java knowledge from university
is hardly ever useful for business coding
. So unless you recruit for an entry, junior position you can skip assessing Java skills based solely on university education and degree. In that case what is more important is candidate’s real life coding projects, it doesn’t have to be a commercial one – it can be hobby or open source programming project.
3. How to verify Java skills in screening phase?
Screening is tiring, arduous and takes a lot of your time. Usually IT recruiters turn to following screening techniques from assessing java skills based on
resume
through
interview
or
video calls
to online coding tests.
Below you find some useful and practical recruiting tips how to verify Java skills using each method.
Important to know what we are talking about!
3.1. Technical screening of Java skills based on CV
Java technology – basic glossary of Java terms for IT recruiters
Sure all the information you need is in the CV – you just need to find the right ones. Sounds easy, right? However, when you start screening the resume, you come across terms like
Hibernate
or
JMX
, and pretty quickly you get confused whether this is the candidate you are looking for. If you are Tech Recruiter recruiting for java position then you should at least be familiar with all its frameworks, build tools etc. in order to know what you are looking for and to be able to speak the same language with your candidates (or at least understand basics the candidate is talking about).
That’s why we prepared this basic
Java glossary
, just have a look.
Java glossary for technical recruiters
Java EE
components
Java Server Pages (JSP)
,
Servlets
,
Enterprise Java Beans (EJB)
,
JAX-RS
,
JAX-WS
,
Java Message Service (JMS)
Java Web frameworks

Java Server Faces (JSF)
,
Spring MVC
,
Vaadin/GWT
,
Wicket
,
Play
ORM Hibernate
,
Java Persistence API (JPA)
,
EclipseLink, OpenJPA
Java build tools

Maven, Gradle, Ant
Java application containers

Tomcat, JBoss/Wildfly, Undertow, Jetty, WebLogic, WebSphere
Java testing tools

JUnit, TestNG, Spock, Mockito, Cucumber
IoC frameworks
Spring Framework, Guice, CDI
Now that you know the basics, we can go into details. If you’re not a tech person then it’s easy to get confused by all the different technology names and abbreviations. If the candidate states that they know
EJB does it mean that they are familiar with Java EE
? Or if the applicant knows
Maven 1 does it mean they can also deal with Maven 2?
Keep calm, we’ll help you out. Just continue reading.
Most common Java technology names that are
used interchangeably
:
– JPA, Hibernate, Java Persistence, Java Persistence API,
– Java EE, EJB, Enterprise Java Beans, Enterprise Java,
– JBoss, Wildfly.

Relations between respective versions of Java technology:
– EJB 2.0 is totally
different
from EJB 3.0,
– Java EE 1.4(J2EE) is totally
different
from Java EE 5,
– Java EE 7 is an
enhanced
version of Java EE 6 which is an
enhanced
version of Java EE 5,
– Spring 2.0 or Spring 3.0
similar
to Spring 4.0,
– Acegi changed name to Spring Security,
– Maven 1 is totally
different
from Maven 2,
– Maven 2 is very
similar
to Maven 3,
– Hibernate 4.x is very
similar
to Hibernate 5.x,
– GWT 1.x is
different
from GWT 2.x,
– Struts 1 is totally
different
from Struts 2,
– JPA 2.x is
richer
version of JPA 1.0.


It is also valuable to be aware of following relations:

Full text search
: If someone knows one of Lucene, Solr or ElasticSearch will be able to deal with the rest.

Object Relational Mapping
: If someone knows one of Hibernate, EclipseLink, OpenJPA then will be able to deal with the rest.

RESTful services:
If someone knows one of Spring MVC, JaxRS, Jersey then will be able to deal with the rest.



Significance of Java certificate for assessing developer’s Java skills
Java certificates are usually appreciated by employers. However,
certification seldom is a requirement for a candidate
. As a technical recruiter you have to be however cautious in assessing Java programming skills based on certificates, because
none of them serves as a guarantee for developers capabilities
.
It happens very often that a
very experienced programmer hardly passes the certification exam
and
a weak programmer scores well
in such an exam. Why is it so? Such certificates
hardly verify practical skills
. They usually require learning by heart things that a more experienced developer would quickly find in documentation or be able to verify it. By quickly I mean within several seconds using their favorite IDE (software that a programmer uses to work on applications), which is not available during exam. BTW, being not able to use IDE doesn’t make sense ‘cause on a daily basis the programmer uses a lot of external sources, such as IDE, to perform their job.
Below you will find a list of Java certification divided into 3 groups
A.
Practical Java certificates, requiring hands-on experience, guarantee of in-depth knowledge of the subject
Spring Certificates:
– Spring Professional,
– Spring Web Application Developer,
– Enterprise Integration Specialist.
B.

Useful Java certificates, can serve as a reliable proof of knowledge
– Oracle Certified Master, Java SE 6 – requires pretty good level Java skills, but only Java 1.6, which was released 10 years ago (2006),
– Oracle Certified Expert, Java EE 6 Web Services Developer – requires sound knowledge but doesn’t verify commercial experience therefore it cannot serve as a guarantee for project success,
– Oracle Certified Expert, Java EE 6 Java Persistence API Developer – requires sound knowledge but doesn’t verify commercial experience therefore it cannot serve as a guarantee for project success,
– Oracle Certified Master, Java EE 6 Enterprise Architect – a candidate understands and can apply Java on architecture level,
– IBM WebSphere – requires sound product knowledge but doesn’t verify commercial experience therefore it cannot serve as a guarantee for project success.
C.
Java certificates – theoretical knowledge, not much useful from business perspective
– Oracle Certified Associate, Java SE,
– Oracle Certified Professional, Java SE,
– Oracle Certified Expert, Java EE 6 JavaServer Faces Developer,
– Oracle Certified Expert, Java EE 6 Web Component Developer,
– Oracle Certified Expert, Java EE 6 Enterprise JavaBeans Developer.
Other information on resume that can show developer’s Java skills
Participation in
open source project
is the information worth taking into account. If the candidate is a contributor to well-known and large projects then it can be of great value. It is also important if a programmer has experience in
similar kind of IT projects
that we are looking an employee for. Creating new things
requires different set of skills and attributes than maintaining them
.
3.2. Technical screening of Java skills during a phone/video technical interview
As it is pretty difficult to draw reliable conclusions about candidate’s programming skills from resume itself, IT recruiters often conduct a phone or video interview. Such an interview gives an opportunity to ask questions concerning their Java skills. In many companies such a technical phone or video interview is a basis for making a decision whether to invite somebody for on-site technical interview with IT team or not, so it’s worth to choose and ask the right technical questions.

As questions itself can vary based on position you are recruiting for and specific skills you want to verify, based on my experience I would recommend following general questions to find out more about candidate’s Java skills:

A. Java interview question concerning developer’s experience
Q1: With which technologies listed in your CV, did you have commercial
experience in the past 2 years
? What were your
responsibilities
? What was your
biggest achievement
?
Why to ask Q1: By asking this question, you can find out more about candidate’s Java up-to-date experience, responsibilities and achievements. Thus you get to know your candidate better.

B. Java interview question concerning developer’s knowledge and opinions
Q2: Which Java
open source libraries
do you consider to be valuable and why?
Why to ask Q2: This question lets the candidate demonstrate their knowledge of
Java ecosystem
. Moreover, the candidate can point out what he takes into account when choosing a certain technology. As a follow up questions you can also ask what in his opinion advantages of commercial solutions over open source and vice versa are. This shows how the candidate thinks.

Q3: I’ve noticed you listed framework X on your CV. What’s your opinion about it? Is it a good choice?
Why to ask Q3: Such an open question allows a candidate to demonstrate their knowledge if they have it. You can also play devil’s advocate based on their answers “But why not use framework Y for that?”. Thus you can see how the candidates choose a technology, justify their choices and whether his opinions are in line with your IT teams.

C. Java interview question concerning developer’s decision making regarding Java technology
Q4: On what stage did you
join recent projects
? Were you involved in the choice of technology or project setup? If yes, which technology did you choose or recommend for the project and why?
Why to ask Q4: Such a questions shows not only how a candidate makes choices regarding technology but also whether they were included into making decisions. Especially important if you are looking for someone with experience.

D. Behavioral question for java developer
Q5: Think about programming project
decision you made that was a failure
. Why do you think it was a mistake? Why did it happen? Could there be anything done differently in order to turn it into success? What steps did you take to improve the situation?
What did you learn from this experience?
Why to ask Q5: That type of question will help you find out how the candidate perceives their decisions, draws conclusions and how much they learn from their previous experience.
http://blog.udacity.com/2014/12/front-end-vs-back-end-vs-full-stack-web-developers.html

Word versus...a good way to find hints in technology.
Front vs Back
Java vs JavaScript
Spring vs Jee
...


http://javascriptisnotjava.io/
http://de.slideshare.net/priyaathangam/java-script-14042052

http://de.slideshare.net/SadeekMohammed/java-script-53569011
You can find code snippets of CSS, HTML, JS in the Browser, press F12
http://technicalrecruitingbook.com/resources/training/technologies-and-terminologies/
What a Java Developer should know

Experienced or familiar with:
One application server
– GlassFish, JBoss, WebLogic
One or 2 Graphical User Interface
frameworks – Swing, Struts
One or two IDE
frameworks – Eclipse
One or two log
frameworks – Log4j
One or two build
frameworks – ANT – Another Neat Tool
One or two testing
frameworks – JUNIT
One or two mocking
frameworks – Mockito, EasyMock
A documentation tool
– Javadoc

What a recruiter should look for in a Java Developer’s Resume?
How the tools listed above where used by the candidate
in each of their positions

Additional Information:
JavaScript is not the same as Java.
Don’t call a candidate with JavaScript for a Java Development position
.

Call when you
see recent experience
with Java.

Developers do move on and sometimes to entirely new development platforms, so ensure you call candidate for skills that are within the
past 3 years or so
.
http://de.slideshare.net/steinnjonsson/java-for-qsi-talent-managers

Learn the basic APIs in Java based on a domain example
http://de.slideshare.net/prashanthum/java-for-recruiters

http://de.slideshare.net/steinnjonsson/java-for-qsi-talent-managers
A lot of materials you can browse trough...

How do we search the internet?
http://de.slideshare.net/chalcomb1/sourcing-using-boolean-search-and-other-tips-2014?next_slideshow=1

http://de.slideshare.net/smalek27/x-ray-searchlinked-in



http://hiring.monster.com/hr/hr-best-practices/recruiting-hiring-advice/attracting-job-candidates/recruitment-process.aspx
http://hiring.monster.com/hr/hr-best-practices/recruiting-hiring-advice/job-descriptions/java-developer-job-description-sample.aspx

Where do we search good people?
LinkedIn/Xing?
https://www.safaribooksonline.com/

https://www.safaribooksonline.com/library/view/hire-with-your/9780470128350/
Use actual groups or make a group of your own in JAM and collaborate on recruiting/Java subjects
https://jam12.sapjam.com/groups/about_page/XvHKyLf5P2yNCCrxcaffnk
https://issuu.com/redactive/docs/rsg_feb16_full
?
http://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/
http://lanyrd.com/topics/java/in/europe/
http://lanyrd.com/
http://virtualjug.com/
http://www.transylvania-jug.org/events/past-events

http://www.visual-literacy.org/periodic_table/periodic_table.html
Full transcript