🎵 Showcase your kid’s musical talent and win up to $1,000 in prize value!Enter Now
Search
80
credits weekly
($40 value)
Class

Informática de nivel universitario con Java (Unidad 4)

Ages 13-18
Live Group Class
Exploraremos la ciencia de la computación, primero construyendo una computadora a partir de chips lógicos básicos, luego observando cómo los lenguajes disponen los datos en la memoria, cómo Java crea esas estructuras, culminando con un gran proyecto: un servidor web escrito en Java.
Average rating:
5.0
Number of reviews:
(51 reviews)

Live video meetings
2x per week, 6 weeks
3-6 learners per class
55 min

Overview

Live Group Class
Meet over live video meetings
12 live meetings
11 in-class hours
Homework
2-4 hours per week. In the first unit, homework will be light, under an hour per class. Once we begin programming in unit two, that will go up to about two hours of programming homework per class hour. There will be occasional short readings.
Assessment
Day 1: Sorting, Naming Conventions, Precision vs. Accuracy, Generic "for" Loops, Building Sudoku Day 2: Interlinked Networks, Printing, Sudoku Code, Independent Solver Objects, Fixed Point Calculations Day 3: Mathematical Facts vs. Approximate Calculations, Writing a Sort, Functional Programming vs. Side Effects, Variable Scope Day 4: Exhaustive Search, "Solved" Problems, Binding vs. Assignment, Packages, Hardware Interrupts, Handlers

Class Experience

College Level Computer Science

This is Unit 4 of a year-long course will take you from the basics of digital logic through the design of a computer and into Object Oriented Programming using Java. The successful student will be ready to take many Junior/Senior level college courses.

The unique aspect of this course is that I emphasize how memory is used by different languages by using diagrams of memory layout—how you can find one piece of information when you know another. (See diagrams in attached file.)

We will use similar diagrams to understand subclassing, how the JVM works, and even a peek into the Unix Operating System and Garbage Collection.

Show me your flowcharts and conceal your tables [data structures], and I shall continue to be mystified. Show me your tables, and I won't usually need your flowcharts; they'll be obvious.
--- Fred Brooks.

It is this foundational understanding that allows us to cover so much more material and so much more of the language than is otherwise possible. Because the student understands our computational objectives so clearly, writing it in a Computer Language becomes a “mere” matter of figuring out the syntax.
====

We will begin with Boolean logic, extending that to digital hardware, building Flip Flops, Muxes, Adders, etc., ultimately putting together an entire computer. 

With that background, we will look at how memory is used in high-level languages (such as Java) and how the relevant meta-information is encoded. (E.g., How does the runtime system know where a method is located in Java?) 

We will look at the Java runtime system and what it does. (You will emerge thinking that the Java Virtual Machine is the greatest invention in the world and you will be able to expound upon why in detail.)

Then, we will begin writing programs in Java. 

Our grand finale will be a web server.

Your friends will be able to connect their browsers to your web server on your machine and run applications that you wrote.

====

This course is an amalgamation of courses I have taught at Stanford and Tufts Universities, along with numerous corporations. Other people have completed the various pieces of this course and left happy. Very few students have dropped out and every student who finished the course completed those programs. 

In other words, if you are excited and into Computer Science, you will succeed. 

During class, we will look at each others’ code and talk about it. Why did you chose those names for the variables? Where do you need (or not need) comments? Is your code easy to understand? Why?

We will be using “Test Driven-Development,” which means that I will provide you with the empty shell of a program and you will write code to pass the tests I’ve written. Thus, you don’t have to deal with many aspects of syntax until you have experience and those aspects become meaningful.

Moreover, should you have one terrible day and make a hash of your code, you will be able to copy mine module for that day and keep going.

Learning Goals

The successful student (and my students are always successful) will have a solid understanding of Java and be able to write significant programs. They will understand polymorphism (and love it). They will understand recursion, maybe even tail recursion. They will have a sense of the operating system. They will be prepared to take most sophomore and junior level college classes.

Other Details

External Resources
Learners will not need to use any apps or websites beyond the standard Outschool tools.
Sources
In addition to the Outschool classroom, this class uses Java Information.

Meet the teacher

Joined April, 2020
5.0
51reviews
Profile
Teacher expertise and credentials
Bil Lewis is a Computer Scientist who worked in Artificial Intelligence and IDE design and has taught at Stanford and Tufts Universities. He is also a Returned Peace Corps Volunteer who taught High School in Kenya. He is a Past District Governor for Toastmasters, a small businessman, and an Eagle Scout.

Bil worked at Sun Microsystems as a Lisp expert. His friends invented Java. Bil created his own company to teach programmers how to write multi-threaded, multi-processor programs. His year-long course, "College Level Computer Science With Java," is fast moving, demanding, deep, and exciting. It is the course the Bil wanted when he was your age.

Bil is also a historical re-enactor. He has presented as James Madison in many setting, including the National Archives, the Shirley-Eustis House, the offices of Congress, and the Massachusetts Statehouse.
  
He has presented formal courses to numerous classes, along with dozens of civic clubs, libraries, and Historical Societies. Along with these paying “gigs," he has had the pleasure of teaching several hundred Jr. High and High School students as part of MIT's "Splash!" and “Spark!” programs.

====

Bil began his career by obsessing over a PDP/8-L at Ripon College. He wrote an interpretative language (similar to Basic) in assembly code, which could control a variety of hardware devices (including a link to the big PDP/8-I timesharing machine) using interfaces he built.

Returning from Africa, he studied at Indiana University under the tutelage of some of the leading lights in Lisp and Artificial Intelligence, resulting in his being sent to the Stanford Research Institute’s Artificial Intelligence Center, where he worked in the natural language understanding group.

At Sun Microsystems he helped design an IDE for Lisp, then transitioned to Marketing, ending up working on Multithreaded Programming and writing three books. When Bil’s housemate joined what was to become the Java group at Sun, Bil was psyched. Bil is the author of exactly one sentence in the Java Language Standard and he’s very proud of it.
   
With the Dot-Com Bust, Bil had free time and wrote his dream program—the Omniscient Debugger, which allows you (in essence) to go backwards in time to see what happened. We will be using it in class.

At the MIT Media Lab, he had the honor of working on the MIT/Cal Tech Voting Technology Project in 2004, resulting among other things, in an article in Scientific American.

At the Broad Institute of MIT & Harvard, he wrote programs to analyze different aspects of DNA. His major project was supporting the Human Microbiome project, looking at the human gut population. 

He is the composer of the obscure, but glorious “16S Ribosomal Small Subunit Rap.”

Probably the best example of Bil in action may be found by Googling Bil’s talk at Google.

Reviews

40 total ratings, 27 with reviews

Review summary for this class
The reviews suggest that the Python class offered by Einsteins Square is highly engaging and informative. Students found the instructor to be knowledgeable, patient, and effective in explaining the concepts clearly. Many students were able to learn how to code games like Flappy Bird and Snake, gaining a solid foundation in Python programming. The flexible scheduling also allowed students to attend classes without disrupting their other commitments. If you're interested in learning Python in a structured and supportive environment, this class is highly recommended.
This summary was AI-generated from parent reviews
My son likes this class! Thank you very much!
Emily C.on Mar 16
Thank you Ms Supriya for teaching my son. He’s looking forward to more... 
Ellie C.on Mar 3, 2024
Ms. Supriya is an amazing teacher. She is really knowledgeable. We truly... 
C K.on Jan 19, 2024
My son really seemed to enjoy this class.  He was motivated to... 
Stacey P.on Nov 7, 2023
Excellent class! My son enjoyed it and learned a lot.
Lori G.on Oct 24, 2023
My 13 year old son absolutely loved this course. The instructor was... 
Rupal K.on Aug 23, 2023


Parents also liked
All About Python Coding Level 3 | Python Coding Class for Intermediates
$35 per class
David Sofield
4.9
(889)
Group Class
10 wks, 1/wk, 1 hr
12-17
Next session at 9 PM on Sunday
All About Python Coding for Teenagers | Python Coding Class for Beginners
$10 per week
David Sofield
4.9
(889)
Self-Paced Class
8 weeks
12-18
All About Python Programming Level 4 | Python Coding Class for Intermediates
$35 per class
David Sofield
4.9
(889)
Group Class
10 wks, 1/wk, 1 hr
12-17
Next session at 11:30 PM on Sunday
All About Python Programming Level 1 | Python Coding Class for Teenagers
$25 per class
David Sofield
4.9
(889)
Group Class
8 wks, 1/wk, 1 hr
11-16
Next session at 7:45 PM on Sunday
Python Coding for Beginners | Live Fun Python Coding
$17 per class
QuattronKids
4.9
(257)
Group Class
10 wks, 1/wk, 1 hr
8-12
Next session in 22 minutes
All About Python Programming Level 2 | Python Coding Class for Teenagers
$35 per class
David Sofield
4.9
(889)
Group Class
10 wks, 1/wk, 1 hr
12-17
Next session at 10:15 PM on Sunday
Summer Camp: Python Coding 4 Kids (Intro)
$18 per class
Dr. Elliott Heflin, Jr.
4.6
(408)
Group Class
2 wks, 5/wk, 55 min
8-13
Next session at 3 PM on Mon 11/17
1 on 1 Python Coding Coach for Beginners (Tutoring)
$65 per session
Bojan Milinic
5.0
(7)
1-on-1 Lessons
On Demand
8-18
1:1 Private Tutoring Python Coding - Introduction to Programming in Python
$59 per session
Ziad Ghazi
4.6
(10)
1-on-1 Lessons
On Demand
7-18
Python Coding (Level 2) - Project-Based Programming Class for Beginners
$8 per week
Faruk Hasan
4.8
(160)
Self-Paced Class
10 weeks
10-15
One on One - Python Coding Classes
$40 per session
Geetu sodhi
5.0
(20)
1-on-1 Lessons
On Demand
9-14
Python Coding with Minecraft: Build, Code, Create & Automate
$20 per class
Playverse Academy
5.0
(3)
Group Class
12 wks, 1/wk, 55 min
11-15
Next session at 7 PM tomorrow
Python Coding for Beginners Level 2 | Live Fun Python Coding
$18 per class
QuattronKids
4.9
(257)
Group Class
10 wks, 1/wk, 1 hr
8-12
Next session in 22 minutes
Python Level 3 Project Based | Live And Fun Python Coding
$19 per class
QuattronKids
4.9
(257)
Group Class
10 wks, 1/wk, 1 hr
8-12
Next session at 9 PM on Sat 11/15
Python Coding and Game Designing
$25 per class
Mehrab Ahmad
5.0
(3)
Group Class
1/wk, 55 min
11-16
Next session at 11 PM today
Python Coding With Minecraft: Build & Code Epic Worlds
$15 per class
Create N Learn: Chess, Roblox, Minecraft, English
4.8
(654)
Group Class
8 wks, 1/wk, 55 min
9-13
Next session at 2 PM tomorrow
See More Classes
Are you planning to use state funding, such as an Education Savings Account (ESA), Micro-grant or scholarship to help pay for your learner’s education?
Back