Outschool
검색

US$80

for 2 classes
수업

대학 수준 컴퓨터 과학 및 자바(튜터링)

14 명의 학생이 수업을 완료함
연령대: 13-18 세
1:1 수업
우리는 컴퓨터 과학을 탐구하여, 먼저 기본 논리 칩으로 컴퓨터를 만들고, 그런 다음 언어가 메모리에 데이터를 배치하는 방식과 Java가 이러한 구조를 만드는 방식을 살펴보고, 마지막으로 Java로 작성된 웹 서버라는 대규모 프로젝트로 마무리합니다.
평균 평점:
5.0
수강 후기 수:
(51 수강 후기)

실시간 화상 수업
1주 동안 주당 2회
55분

무엇이 포함되어 있나요?

2개의 라이브 미팅
수업 1 시간 50 분 시간
숙제
주당 1-2시간. We are doing about two hours of programming homework per class hour. There are occasional short readings and cool algorithm videos online.
학습 평가
I read the students' code.
보고계신 지문은 자동 번역 되었습니다

수업 소개

College Level Computer Science

This is Unit 9 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.

학습 목표

Day 1: Code exploration, OS Stuff, Multithreaded Programming (Mutexes)
Day 2: Code exploration, the JVM, Byte Code Machines, Multithreaded Programming (Condition Variables), more OS & Hardware
Day 3: Code exploration, Multithreaded Programming (Parallel Computations), more OS & Hardware
Day 4: Code exploration, Networks, TCP/IP, Routing, Packet Collision, Sockets

그 외 세부 사항

학부모 가이드
Eclipse is an "Integrated Development Environment" which allows the learner to write and run code. It is a widely used in the software development world. The learner (or parent) will download Eclipse from the IBM web site and then use it locally on their own computer. Eclipse may be downloaded freely, with no identifying information required. The learner is welcome to use a different IDE, although I will not be able to help them with it.
수업 자료
This class uses Eclipse.
Outschool 외 필요 앱/웹사이트
이 수업에서는 아웃스쿨 교실 외에도 다음의 툴을 사용합니다:

선생님을 만나보세요

가입일: April, 2020
5.0
51수강 후기
프로필
교사 전문성 및 자격증
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.

리뷰



다른 인기 수업
[1:1] 개인 튜터링 JAVA 코딩 - JAVA 프로그래밍 입문
Ziad Ghazi
4.5
(8)
US$55 세션당
일대일 레슨
온디맨드
7-18 세
자바 코딩: 재미있는 프로젝트로 프로그래밍 배우기 - 레벨 1
Einsteins Square: Chess, Coding, Math, Art, Games
4.8
(5,831)
US$21회당 수업료
다음 세션은 Monday 3 AM 에 예정되어 있습니다.
그룹 수업
12 주, 주당 1회50분
12-17 세
자바 프로그래밍 - 1:1 개인 튜터링
Einsteins Square: Chess, Coding, Math, Art, Games
4.8
(5,831)
US$39 세션당
일대일 레슨
온디맨드
10-18 세
자바 주간 수업
MissB aka Bhavana R (Coding)
4.9
(37)
US$25회당 수업료
다음 세션은 Tuesday 10 PM 에 예정되어 있습니다.
그룹 수업
주당 1회45분
11-16 세
자바 1:1 수업
MissB aka Bhavana R (Coding)
4.9
(37)
US$70 세션당
일대일 레슨
온디맨드
13-18 세
자바 코딩: 재미있는 프로젝트로 프로그래밍 배우기 - 레벨 2
Einsteins Square: Chess, Coding, Math, Art, Games
4.8
(5,831)
US$21회당 수업료
다음 세션은 Thursday 7 PM 에 예정되어 있습니다.
그룹 수업
12 주, 주당 1회50분
12-17 세
101 개인 맞춤형 - 중급 - 자바 프로그래밍 - 주 1시간
StudentScholars
3.9
(86)
US$48 세션당
일대일 레슨
온디맨드
9-18 세
101 Private-JAVA Programming - 중급 - 레벨 2 - 주 30분
StudentScholars
3.9
(86)
US$33 세션당
일대일 레슨
온디맨드
9-18 세
101 개인 맞춤형 - 초보자를 위한 기본 - Java 프로그래밍 - 주 1시간
StudentScholars
3.9
(86)
US$43 세션당
다음 세션은 오늘 11 PM 입니다.
일대일 레슨
온디맨드
9-18 세
101 Private-JAVA Programming - 초보자를 위한 기본 - 레벨 1 - 주 30분
StudentScholars
3.9
(86)
US$33 세션당
일대일 레슨
온디맨드
9-18 세
101 Private-JAVA Programming - 초보자를 위한 기본 - 레벨 1 - 주 30분
StudentScholars
3.9
(86)
US$33 세션당
일대일 레슨
온디맨드
7-18 세
Java로 객체 지향 프로그래밍을 배우세요
Mikaila
US$35 세션당
일대일 레슨
온디맨드
13-18 세
2-in-1 Java 및 Python 코딩 | 초보자를 위한 1년 단위 주간 프로그래밍 수업!
Faruk Hasan
4.8
(149)
US$11회당 수업료
다음 세션은 Sunday 10:30 PM 에 예정되어 있습니다.
그룹 수업
주당 1회35분
10-13 세
매직 자바: 아트와 게임을 통해 전문적인 코딩 배우기 (1 대 1)
Nicolas Bulgarides
US$55 세션당
일대일 레슨
온디맨드
13-18 세
Minecraft JAVA Edition: Survival Beginners Course Java에서 생존하는 방법
Julie Olufson
4.9
(269)
US$15회당 수업료
다음 세션은 Monday 1 PM 에 예정되어 있습니다.
그룹 수업
주당 1회45분
5-10 세
AP 컴퓨터 과학 A 튜터링(자바)
Darshak Kachchhi
5.0
(2)
US$20 세션당
일대일 레슨
온디맨드
11-18 세
더 많은 수업 보기
검색
기프트 카드 구매
통화, 시간대 및 언어 설정 열기
언어 및 지역
로그인