INFSCI 0017 - Fundamentals of Object-Oriented Programming
(Fall 2012, CRN 16686)
[ Formal Data | Course Tools | Syllabus | Course Books | Course Schedule | CourseWeb | Knowledge Tree ]
Course Tools
Teaching Tools
CourseWeb
The key tool for the course is the Pitt CourseWeb powered by Blackboard 5 Course Management System, a product of Blackboard, Inc. A set of course materials and tools is available on the CourseWeb course site. You need to have Pitt University Computer Account to login to CourseInfo site. Use Account Managament Page to check the status of your account. We will use CourseWeb for all communication during this course, to take quizzes and to submit solutions for the assignments.
KnowledgeTree
KnowledgeTree is a system that provides a dynamic access to the course material. It can watch what you are doing and adapt to your level of knowledge. The link to KnowledgeTree is right on the navigation bar of every course page. You have to login to start working with KnowledgeTree. You will receive login and password for KnowledgeTree at the start of the course. Contact TA in case of problems.
For you KnowledgeTree is a way to access several course activities associated with lectures: examples, demonstrations, quizzes and exercises.
- jWADEIn demonstration and exercises allow you to explore the hidden process of expession calculation in Java. You will be able to choose or write domw an expression and observe step by step how Java will calculate it - starting with determining the order of calculation. This tool is adaptive - it remembers how much you have been working with every Java operation and adapts the level of detal in visualising this operation. jWADEIn examples can be also used in an assessment mode.
- Progressor+ Examples provide you with an interface to explore comments that a teacher has attached to the lines of the program examples. It is the second chance for you to understand the example if you missed the class or can't grasp the example during class presentation.
- Progressor+ Quizzes are provided for self-assessment. They check your understanding of Java semantics. A failure to predict the target value is good indication that further reading or work is required. Each question can be tried many times (each time you will see different numbers in the same questions.
Progressor+ tracks your success and the growth of your knowledge. It also allows you to see how you are performing against the rest of the class.
Java Development Tools
To complete the second part of the course you will need to write and debug Java programs. To do that you need either
- an professional development environment (IDE) for Java such as IBM Eclipse
- an educational IDE (such as JGRASP, BlueJ or Dr. Java)
- an editor that you can use to work with javac compiler that comes with JDK
Eclipse
We strongly recommend you using Eclipse, one of the most popular Java IDEs used by both students and professionals. While Eclipse is relatively complicated, it is not more complicated than Microsoft Word or other high-functionality application. Use our guide or free online tutorials to locate a small subset of functionalities that you need for your work with examples and problems. Once you learn the core functionality of Eclipse, you can explore some of the useful pluguns
There are many other free and commercial IDE for Java and you are welcome to use any of them if it is something you get used to. However, if this your first IDE, we recommend Eclipse.
Educational IDEs
An alternative for Eclipse and other professional IDEs is a small set of educational IDE that are specifically developed for the needs of students learning Java. These IDEs do not have many components that students do not need while also offering some additional useful tools that the professionals do not need. As a result, many introductory classes use educational IDEs and many Java programming textbooks are written with a specific educational IDE in mind. BlueJ, jGrasp, and DrJava are among the most popular educational IDE. You are welcome to try any of these IDEs, but I would recommend jGRASP developed in Auburn University.
- It supports several languages including C and Java and is written in Java itself - so it runs on all platforms.
- jGRASP allows to show Control Structure Diagrams, a good tool for beginners!
- jGRASP has very nice program visualization.
Using an editor and a compiler
An editor-compiler pair is a simple substitution for IDE. It is easier to use than any IDE, but this option provides little debugging support. We do not recommend this option unless you have special reason to use it. To work with this setup, use a text editor that can work with plain text files, preferably programming-oriented editors that can recognize language syntax (I recommend TextWrangler on Mac or PFE on Windows). Make sure to save your files with suffix ,java (not .txt). Install JDK. Use javac and java commands to compile and run your programs.
Visualization Tools
Visualization tools will let you to look inside the working program. Some educational IDE offer some extended visualization. However, for a really advanced level of visualization details, please, try Jeliot.
Jeliot is a great visualization system for beginner-level Java programs.
Copyright © 2012 Peter Brusilovsky