Computer Science 121: Introduction to Problem Solving with Computers (A Java Language Course).

What is CS 121 about?

121 is intended to teach you how to program in Java, one of the most popular modern computer languages. Java brings a discipline to programming, called the object-oriented paradigm, and the course teaches how to use this paradigm as a framework for programming. Note that 121 teaches you how to program in Java. Broadly, while the class is intended for well-prepared students (good general computer skills, basic math skills), no previous programming experience is assumed. Still, the course is the first required class for the UMass computer science major; it is also required of Informatics majors, electrical engineering majors, and mathematics majors at UMass-Amherst. In addition to basic programming constructs such as looping, conditions, arrays, file handling, and methods (Java subprograms), much attention is given to the Java object model as well as to Java's event model and its relation to graphical user interfaces.

How can I register for CS121?

If you are not able to enroll yourself, you will need to request an override via the online form. After you submit your override request you will be added to the waitlist and if we are able to offer you a seat we will contact you via email. To read more about the override process and for the online form please visit this link:https://www.cics.umass.edu/ugrad-education/overrides

How does the course work?

CS121 uses both Moodle and the OWL system. The course website is on Moodle: moodle.umass.edu. Moodle has a course forum, as well as code and other resources covered in weekly lectures. OWL is separate from Moodle. The course is based on an interactive textbook called iJava. The text runs as part of the OWL learning management system. The textbook, homework, and programming projects provided by the OWL system, are accessed via OWL directly. There is a fee for an access code to the OWL/iJava material.

Where does the class meet?

Lectures are given twice per week. NOTE: As of Fall 2017, lecture attendance is mandatory. Lab sections, also mandatory, are held once per week.

Do I have to attend class?

Lecture attendance is mandatory. In lecture, you can download starter code from Moodle and develop along with the instructor. Lectures are interactive and parallel the text material, but may expand upon or otherwise deviate from the text. Due to the large number of students enrolled in COMPSCI 121, half of the class attends the lecture on Tuesday, and the other half attends on Thursday. You will receive an email about the exact protocol before the first week of class. The protocol will also be posted on Moodle. Thank you for your cooperation. Lab attendance is mandatory. You must attend the section you registered for. Lab sections are held once per week. You will develop code and discuss the concepts covered that week in groups. Lab grades include attendance and submission of a lab document.

How hard is CS 121?

CS 121 is actually quite challenging. It has an R2 designation (a general designation at UMass for analytical reasoning courses), and it's about as hard as any R2 on campus. Don't take this course lightly. There are a great many small assignments so it's critical to keep up. To succeed in 121 you've got to stay on top of the assigned material.

Do I need a computer to do the class?

You will need access to a desktop or laptop computer for this class. Chromebook computers are not a workable option. iClickers are required for lectures.

Are there special software tools that I need for this class?

You'll need the Java development kit (JDK) as well as a development tool that contains project management and a debugger. We use jGrasp as a development environment as it is easy to install and learn. Students may choose other tools, as long as they support project management and debugging. Note that we will provide support for jGrasp but no other IDE. While the above software is free, there is a fee for an access code to the OWL/iJava material.

How can I get help with COMPSCI 121?

Important Course Structure Information

This course uses Moodle and OWL. Moodle is used for posting lecture and discussion material, as well as exam session selection. All assigned work including homework and programming projects is accessible through Interactive Java /OWL system. Students purchase access to Interactive Java /OWL at the beginning of the semester. Each week you will have a chapter in the Interactive Java text to read and answer questions about, as well as a set of homework style problems to solve. There will be approximately six programming projects assigned over the semester. There will be two midterm exams and one final exam.

The main elements of this course are:

Approximate List of Topics Covered

CODE DEVELOPMENT PRIMITIVE DATA TYPES ABSTRACT DATA TYPES (Classes) OPERATORS VARIABLES EXPRESSIONS RUNNING A PROGRAM OBJECT-ORIENTED PROGRAMMING METHODS GRAPHICAL USER INTERFACE (GUI) STRINGS EXCEPTIONS I/O INHERITANCE BY EXTENSION INTERFACES (Inheritance by implementation) POLYMORPHISM ARRAYS