# MIT 6.092: Introduction To Programming In Java

## Descriptions

- Offered by: MIT
- Prerequisites: None
- Programming Languages: Java
- Difficulty: 🌟🌟
- Class Hour: less than 15 hours

MIT's Java introductory course is suitable for beginners with no programming background. Each session consists of one hour of lecture (knowledge explanation) and one hour of lab (code practice), with a total of seven sessions. Although it's a fourteen-hour course, the learning process is fast, and you can complete it in about a day. It feels quite manageable for beginners.

The course content includes:

1. Rapid introduction to fundamental concepts needed for Java: the Java compilation principle, the classic "Hello world" code, and the eight primitive types in the first session.
2. How to maintain good code style: emphasizing naming conventions, indentation, and proper use of spaces in the third session.
3. Debugging techniques: Using Eclipse warnings, assertions in the sixth session, and handling exceptions in the seventh session.

The assignments in the lab are not very difficult, and many of them are discussed in the following lecture after each lab session. The key point to note is that coding is a skill that requires practical experience. For beginners, the most important aspect of learning to code is to practice and write code regularly, whether in lectures or lab sessions.

For those who want to advance after completing this course, you can consider studying [MIT 6.005/6.031](../../软件工程/6031.en.md).

## Course Resources

- Course Website: [Winter 2010](https://ocw.mit.edu/courses/6-092-introduction-to-programming-in-java-january-iap-2010/pages/syllabus/)
- Textbooks: [How to Think Like a Computer Scientist](https://greenteapress.com/wp/think-java/)
- Assignments: <https://ocw.mit.edu/courses/6-092-introduction-to-programming-in-java-january-iap-2010/pages/assignments/>

## Personal Resources

All the resources and assignments used by @SinanTang are maintained in [SinanTang/MIT6092-Introduction-to-Programming-in-Java_problem-sets - GitHub](https://github.com/SinanTang/MIT6092-Introduction-to-Programming-in-Java_problem-sets).

All the resources and assignments used by @sirrice are maintained in [sirrice/6092 - GitHub](https://github.com/sirrice/6092).

All the resources and assignments used by @Harbour-z are maintained in [Harbour-z/MIT6.092 - Github](https://github.com/Harbour-z/Course_learning/tree/main/MIT6.092).