This course is an introduction to programming using Java. It covers fundamental programming programming constructs and the basics of object-oriented programming.
Programming skill is essential for the Software and Knowledge Engineering curriculum. Please try to master the material and earn an ‘A’ in this course.
Topics
See Syllabus.
Requirement for Individual Work
All assignments must be done individually, unless group work is explicitly alowed. No copying is accepted, even a small part.
It is OK to discuss design and problems you have, but not to share code. If you need help, please ask the TAs or instructor rather than the other students (who may not give you the correct answer).
Copying == Fail Anyone who submits copied work will receive grade “F” and be reported to Faculty of Engineering for disciplinary action.
Programming Tools You Need
See Resources.
Textbook and Documentation
Assignments use material from these sources:
- Horstmann, Big Java, 5E. The 4th edition can also be used – it covers the same material and more concise. Both 4E and 5E cover Java 7, but not the new features in Java 8.
- Oracle’s Java Tutorial (Recommended). The most comprehensive Java tutorial. The Really Big Index page is the best place to find specific material, so bookmark it. I suggest you download and install it on your computer.
- The Java JDK Documentation. You are required to install this on your computer and bookmark the API index in your web browser. This is a great source of knowledge about the Java platform. Go to Java SE Downloads and scroll down to “Java SE 8 documentation”.
Online Coding Sites
- elab for lab work in this course.
- codingbat.com has many short problems, with explanation and solutions. Enter code into browser window and see test results immediately.
- stepik.org has a nice “Adaptive Java” course created by JetBrains. It chooses problems based on your past answers, so problems get progressively harder. You can write code in browser or upload a file.
Course Material
This section refers to material for Jim’s presentations.
Everything is on https://cpske.github.io/programming1. There are directories for topics or weeks, plus some general files.
Schedule and Links | https://cpske.github.io/programming1/Home |
Material for week2 | https://cpske.github.io/programming1/week2 |
General Documents | https://cpske.github.io/programming1/docs |
Resources | https://cpske.github.io/programming1/Resources |