In order to run other peoples’ Java programs, you must have the JRE (Java Runtime Environment). In order to write and run your own Java programs, you must have the JDK (Java Development Kit), which is sometimes called the SDK (System Development Kit)–these are the same thing. The JDK includes the JRE, so don’t get both.
As of this writing (June 2005), the latest and greatest version of Java is Java 2 Platform, Standard Edition 5.0, also known as "Java 2 version 5" or "Java 5" or "J2SE 5.0" (yes, the numbering is confusing), available from http://java.sun.com/j2se/1.5.0/download.jsp. If you have Windows or Linux, you must download and install the JDK; if you have Mac OS X, you already have the JDK, but you should check if it is the latest version.
You also need a text editor with which to write programs. Any text editor that saves plain text will do, such as Microsoft’s Notepad. Recommended editors are TextPad on Windows and BBEdit on the Macintosh. However, most IDEs (see below) include a text editor.
What it’s nice to have
An IDE (Integrated Development Environment) is a single program that lets you edit, compile, run, test, and debug programs, all in one place. If you do not have an IDE, you need to learn how to compile and run Java programs from the command line; this isn’t difficult, just less convenient.
Except as noted, all these IDEs are free and will run on any computer system.
IDEs for beginners
BlueJ is probably the simplest IDE; its main advantages are that it shows a diagram of how your classes relate to one another, and it has simple menus.
DrJava is also simple; its main advantages are that it allows you to test out individual Java statements, and the editor is more powerful.
JCreator is another simple IDE; its main disadvantage is that it only runs on Windows. The LE version is free.
IDEs for professionals
Professional IDEs have many more features, and are correspondingly harder to learn. Once you become reasonably comfortable with Java, you really should take the time to master a powerful IDE. You will be surprised at how much work it will save you.
Eclipse is an extremely good and very popular IDE. It is the one I use. It comes with good tutorials. Get the latest "Stream Stable Build."
IntelliJ Idea is said (by people who have used both) to be even better than Eclipse. Its main disadvantage is that it is expensive (about $500), although the educational discount price is (barely) affordable.
NetBeans is Sun’s own IDE, and is said to be catching up with Eclipse. Its main advantage is that it can be downloaded along with the JDK (see above), hence is very well known. It also provides a visual GUI builder, but that relies on some packages that must be included with your program if it is to run outside the NetBeans environment.
JBuilder, by Borland, is probably the best commercial IDE; the "Foundation" version is free.
CS: Software Engineering MOOCs and Free Online Courses
Google Developer Experts show you how to become a Professional Android App Developer using best practices and the latest technology. Learn mobile application development on the Android platform by acquiring strong knowledge of Android SDK and different versions of Android. You will gain familiarity with RESTful APIs to connect Android applications to back-end services and will practice with Genymotion emulator.
Learn, from Google experts, the Android app development process and how to use Android Studio, as you create and develop your own apps. This course is designed for students who are new to programming, and want to learn how to develop Android apps. You’ll learn how to create an Android project with Android Studio and run a debuggable version of the app. You’ll also learn some Android architecture and the key principles underlying its design.
Gain entry-level skills and knowledge in Java fundamentals and an intro to Android Studio for a strong foundation in Android Apps. Learn the basics of Java programming language and how to develop programs with conditionals and loops, design and implement recursive algorithms, understand basic mechanisms of the Object Oriented Paradigm (OPP), use and interpret the API of some of the most common Java classes and real-world android application development using the Android software development kit (SDK). This course provides the basic skills to ensure a start with Android Studio Editor and use Virtual Device.
Create profitable Apps using proven business models and earn money by developing your Android App using AdMob and more. Learn how to monetize Android apps without adversely affecting the user experience. We will present the best practices of advertising, monetizing and publishing your Android app. We will also present an introduction to business models that will help you make money from an app using Google AdMob, Google’s mobile advertising platform specifically designed for mobile apps.
This free online course focuses on SAP HANA SPS 11 and is aimed at software developers already familiar with SAP HANA. With this course, you’ll take a deeper dive on key topics from real world applications as well as learn about new functionality added in SAP HANA 2.0 SPS 0 – SPS 02.
Hasta dónde pueden ver las máquinas? Descubre la visión por computador programando aplicaciones de análisis de imágenes, uno de los campos más innovadores de la inteligencia artificial.
This free Software Design for Non-Designers interactive course aims to explain common aspects of design as way to improve user experience in software engineering, and will provide an introduction to a few basic steps you can apply to your next project. It is taught by Scott Klemmer from UC San Diego, and a team of design-driven development experts from SAP.
Did you ever want to build a web application? Perhaps you even started down that path in a language like Java or C#, when you realized that there was so much “climbing the mountain” that you had to do? Maybe you have heard about web services being all the rage, but thought they were too complicated to integrate into your web application. Or maybe you wondered how deploying web applications to the cloud works, but there was too much to set up just to get going.
This course teaches computer programming to those with little to no previous experience. It uses the programming system and language called MATLAB to do so because it is easy to learn, versatile and very useful for engineers and other professionals. MATLAB is a special-purpose language that is an excellent choice for writing moderate-size programs that solve problems involving the manipulation of numbers.
Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, com método e organização graças às boas práticas e princípios exercitados no curso anterior; mas você talvez não se sinta ainda confortável em projetar programas usando técnicas ágeis, como o desenvolvimento guiado por testes (TDD).
In this project-centered course* you will build a modern computer system, from the ground up. We’ll divide this fascinating journey into six hands-on projects that will take you from constructing elementary logic gates all the way through creating a fully functioning general purpose computer. In the process, you will learn – in the most direct and constructive way – how computers work, and how they are designed.
Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, graças às boas práticas e princípios orientados a objetos, TDD e conceitos avançados de Java aplicados à Web e banco de dados exercitados nos cursos anteriores; mas você talvez não se sinta ainda confortável em planejar e gerenciar o desenvolvimento das aplicações com base em modernas práticas de modelagem ágil.
If you love everything about computersófrom surfing the Net, to writing code, to learning about the nonphysical inner workings of these wondrous machines that power the world as we know itóthen look no further than a degree in computer programming. This fascinating field will have you learning all kinds of new languagesóprogramming languages, that isóand you’ll learn practical skills that will net you a job in one of the most fastest growing career opportunities in the world.
In a typical degree program in computer programming, you’ll start by taking courses in the basics of computer science. However, it should be noted there is a very discrete difference between computer science and computer programming, although the two, can, in some ways, overlap. For instance, computer science deals primarily with the theoretical components of computer design. However, computer programming is the study of coding languages, software programs, and anything else that makes computers "tick" in the sense of operating them. In other words, computer programming deals with the machines’ more tangible applications.
Courses taken in the usual computer programming major include the basics of programming languages. You’ll usually start with Visual Basic, HTML, C++, and Java. You may later move on to more complicated languages like ML or Python. The great thing about a computer programming major is that it encompasses so many different areas of interest. You can take courses in software design, databases, software testing and maintenance, systems analysis, and web design, just to name a few.
Upon the completion of degree in computer programming, you’ll have all the skills you need to dive head-first into the incredibly diverse employment opportunities available to you. A cursory look through an excellent resource, PGR Jobs, a list of computer programming jobs that you can perform in the company of your own home, shows the array of careers out there. For instance, you can be a Java developer, an MS SQL Database manager, a sales engineer, a systems analyst, and even an equation developer in Qatar.
So what, exactly, are the career prospects for those pursuing a degree in computer programming? According the Bureau of Labor Statistics, the outlook is excellent. The growth of the industry is expected to be increasing at a rate that is "much faster than average." What’s more, the median salary for computer programmers is currently estimated at almost $70,000. In short, you’ll never have to worry about job security if you elect to study computer programming.
Quick Degree Finder
Find a web design degree with our design school guide. Our schools include:
Computer technology has become ingrained in every aspect of society. Computers have virtually changed the way businesses advertise services, people interact with each other, and media reaches the masses. Each modern gadget disseminates more information than the traditional means of reading paperback novels. The younger generations continue to evolve into a technological-reliant world. All members of society may completely rely on digital convergence to survive in the coming decades. Therefore, children must learn how to operate a computer in the same way that the baby boomers used a typewriter. Computers function in many different ways, including to compose and send electronic mail, save files, copy and paste text, download media, transfer money, and pay bills. More advanced computer users may learn how to design computer programs, fix computer hardware, and network computers together. Young adults who realize the imperative nature of learning the basics of computers will succeed in the their future endeavors.
Computer Vocabulary: A comprehensive dictionary of common terms related to computers ranging from artificial intelligence to wizard.
Computer Vocabulary: Matching Game: An interactive matching game where a student chooses the definition and matches it with the appropriate term.
Free Online Dictionary of Computing: A searchable database of computer-related terms, including definitions of acronyms, jargon, programming languages, tools, operating systems, networking, architecture, standards, mathematical formulas, conventions, theory, and more.
Basic Computer Skills: A short, web-based course that guides students through basic computer skills, including how to use a mouse, keyboard and typing skills, opening and closing files, accessing data from a CD-ROM, how to locate saved files, how to copy and paste text, review questions, activities, and a quiz.
CUergo: Computer Workstation Ergonomics Guidelines: A 10-step guideline to preparing and arranging an ergonomically sound computer workstation.
Turn Off a Computer: Frequently Asked Questions (FAQ): Microsoft provides a set of fifteen frequently asked questions (FAQ) in relation to turning on and off a computer using the Windows operating system.
Computer Basics (PDF): A general overview on using computers, including basic computer skills, the keyboard and mouse, operating systems and software, and shutting down the computer.
An Introduction to Computer Basics: Software: A thorough introduction to using a computer, including all hardware, portage storage devices, keyboard and mouse, the Windows operating system, and Microsoft Office software.
Computer Basics: Quick Reference Card (PDF): A quick reference card that covers the main parts of the computer, parts of a typical window, window tips, file management, and Internet Explorer.
Accessing a CD-ROM: A web-based tutorial that guides students to accessing a CD-Rom through Real Media Player for the Microsoft Windows operating system.
How to Use the CD-ROM (PDF): A brief tutorial that guides students through a step-by-step procedure of using the CD-ROM, including identifying its key components, navigating the related software, using the CD-ROM to enhance learning style, and related terms.
How to Use this CD-ROM Tutorial? (PDF): An extensive document that describes how to use the CD-ROM in Adobe Acrobat Reader.
Opening and Saving Files
Use Microsoft Word to Open and Save a File in a Different Format (PDF): A structure tutorial on saving existing files under different formats using Microsoft Word processor.
Working with Files: An in-depth introduction for computer novices who wish to learn more about working with computer files, including how to open a file, open an existing document in a new window, saving a file, printing a PowerPoint file, and providing answers to frequently asked questions (FAQ).
Run vs. Save When Downloading Programs or Files: A brief technical introduction to running and saving downloadable programs and files.
Nimble Fingers: An interactive, Java-based typing test that guides students to learning the beginning, intermediate, and advanced stages of keyboarding.
Text Type: A student and teacher tutorial to digital keyboarding. This exercise helps students to memorize where each alphabetical, numerical, and special characters are located on the keyboard.
Typing Web: A set of typing exercises that guides students through beginning, intermediate, advanced, and specialty lessons.
The PC Keyboard (PDF): A comprehensive guide that introduces and guides students to mastering the keyboard.
Basics: Keyboard Shortcuts: A brief introduction to basic keyboard shortcuts, including its definition and resulting action.
Typing Basics – The Home Keys: A comprehensive introduction to competent keyboarding, including exercises to master the “home row” keys, and a fingering diagram to identify them.
Power Typing: An interactive program that teaches students how to master the Qwerty, the standard 101 keyboard.
Typing Tutor: A computer program that helps guides students to improving their typing skills by playing a simple game.
Rapid Typing: A free web-based program that provides add-ons, software, games, techniques, and active testing for those wishing to improve their typing abilities.
Mouse Exercises: Interested parties looking to improve their mouse using abilities should take practice tests to master its utility. This webpage offers four distinct mouse exercises to accomplish this goal, including learning where to place the mouse, clicking it, how to drag and drop, and using the mouse to draw.
Mousing Around: Games!: A set of fourteen interactive games that tests the mouse skills of those new to the PC hardware. Each set of games tests one-click, faster clicking and mouse movement, and drag and drop abilities.
Mouse Concentration: An interactive game consisting of 36 squares that tests the mouse concentration of the game participant. The game participant must match a pair of squares over a set amount of time.
Learn How to Use a Computer Mouse: A set of online mouse games that tests the memory of computer users, including practice exercises, tests, and other related instructions.
BBC: Clicky Mouse Game: The BBC WebWise computer game tests the mouse skills of computer novices, including single clicking, double clicking, and dragging.
Mousing Tutorial: The Palm Beach County Library System teaches students how to effectively use a mouse, offers “mousercise” activities, and then tests the students for accuracy.
Mousercise: An interactive game that teaches elementary students how to effectively use a mouse to navigate and execute actions on the operating system and applicable software.
Learn Mouse Skills: Green River Community College offers a series of basic computer skill tutorials, including exercises on how to hold, highlight, cut, paste, move, click, point, drag, use radio buttons, check boxes, drop-down menus, scroll, and complete forms.
Mouse Tutorial: A brief six-step introduction to using a computer mouse.
Jan’s Windows Basics: The Mouse: A comprehensive introduction to using a computer mouse, including starting up, shutting down, controlling the mouse, controlling the window, and context menus.
Web by Design: Internet Basics Tutorial: An authoritative tutorial that teaches the Internet basics, including the basis for the World Wide Web, network activity, netiquette, forbidden Internet activities, electronic services, e-mail, and other related information.
Internet Basics – A Guide to Getting Started: A basic guide to the Internet, including basic terminology, anonymity, Internet tools, Internet Service Providers (ISPs), domain names, telnet, FTP, finger, ping, gopher, the World Wide Web, Usenet, and network etiquette.
Internet Basics 101: A brief overview of beginning, intermediate, and advanced Internet concepts, including hook up, e-mail, www, creating web pages, FTP, chat, and miscellaneous.
The Internet: Internet Basics: A novice’s tutorial to explaining the core principles of the Internet, including the necessity for a web browser and the necessary steps to navigate it.
Internet Basics (PDF): A lab covering the fundamental concepts of the Internet, including important vocabulary terms, post-lab questions, discussion and procedure, copying files across the network and FTP, and steps to completing Internet search activity.
A Basic Tutorial on Searching the Web: A 20 lesson tutorial teaching students how to search the World Wide Web. It includes core concepts, such as search engines, metasearchers, subject directories, basic search tips, field searching, troubleshooting, and more detailed information about the aforementioned subjects.
Getting Started with the Internet: An authoritative introduction to the Internet, including where to begin when planning to create a website, creating content, and driving traffic to make it a success.
Zen and the Art of the Internet: Network Basics: A tutorial that covers networking basics, including domains, Internet numbers, resolving names and numbers, the networks, and physical connection.
Basic Internet Terms: A glossary of basic Internet terms, including domain names, web browser, search engines, World Wide Web, uniform resources locator, printing, page, online databases, links, homepage, go and favorites.
PHYS 251 – Internet Basics: An introduction to computer techniques in physics, including the history of the Internet, what it is, how the Internet accomplishes data interchange, Internet resources, e-mail, the World Wide Web, HTML document, tagging, examples of HTML usage, and HTML resources.
Outlook: Email Basics (PDF): An abstract paper covering the basics of electronic mail, including its objectives, prerequisites, related training, and definitions, creating, replying, forwarding, and printing a message.
E-Mail Basics: An overview of key concepts in electronic mail, including its addresses, messages, attaching files, managing inbox, spam, garbage, and inputting signatures and styles.
Netiquette: Business E-mail Basics (PDF): A brief overview on business e-mail etiquette.
Free Email 101 Tutorial: An online course introducing the basics of electronic mail, including what email is, the features of email services, and tips for writing business emails.
The Basics of Email Metrics: Are Your Campaigns Working?: A tutorial that introduces how to collect data, what data to collect, how to capture the data, and making sense of the metrics involved.
More Online Training Resources
Try it for free.
See why so many industry leaders choose Mindflash.