This course is an introduction to computer programming. Programming is the art of explaining to a computer what you want it to do, in exact detail and in a language that the computer can understand. Programming is only one part of computer science, but it is the most basic and most central part. It is an activity that requires you to think logically, to solve problems, to express yourself clearly, and often to endure a certain amount of frustration as you try to get your programs to work. The result, though, can be very rewarding. Many different languages are used for writing computer programs. Fortunately, it is possible to learn the principles and general techniques of programming that can be applied no matter what language you write in. Although you will work with a specific language, you should try not to lose sight of the general ideas. In this course, we will use the Java programming language. Java is a relatively new language, having been introduced in 1995. In the years since its introduction, it has become one of the most important languages for real application development. It is a very versatile language. Java can be used to write regular desktop applications and to make "applets" that can appear on Web pages. Many complex interactive Web sites are written in Java, and it can be used to write applications for many types of mobile phones. Even high-performance scientific programming has been done in Java.
Eck, D.J. (2019). Introduction to programming using Java, version 8.1. Hobart and William Smith Colleges. http://math.hws.edu/javanotes/.
University of the People Preparation Materials for this course: https://www.uopeople.edu/prepare-for-university/programming-1-cs-1102-learning-materials/
Included in this repo are the syllabus, discussion assignments, learning journals, three practice quizzes, and programming assignments. Not everything from the course was included in this repo. No exams.
Extra Recommended Resources for Beginners
- Starting out with Java sixth edition by Tony Gaddis: https://b-ok.cc/book/5247671/3f24f3 . Plenty of code examples and programming assignments in each chapter, great for drilling essential concepts!
- Mosh Hamedani's Java videos: https://www.youtube.com/watch?v=eIrMbAQSU34 .
- Get familiar with using the terminal. Team Treehouse has an "Introduction to the Terminal" course. They offer a free 7 day trial: https://teamtreehouse.com/library/introduction-to-the-terminal and there is this free resource to help you get started: https://github.com/rubwexler/linux
- This course uses Eclipse IDE, but I would recommend starting off with a more simple IDE, such as Visual Studio Code. Create Java Project with Visual Studio Code 2021: https://www.youtube.com/watch?v=2WeYJrGbyIg .
This repo is for you if
- You want to prepare ahead for this course.
- To see if the computer science program is for you.
This repo is NOT for anyone:
- Who is looking to cheat (there are no completed assignments to copy from).
Preparation materials for other University of the People computer science courses can be found here: https://www.uopeople.edu/prepare-for-university/computer-science-courses-prepare-university/