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. No previous programming experience is required; however, this course is intended for Computer Science majors or those who plan on applying to the major. 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. Non-majors or students who do not have previous programming experience should strongly consider taking an introductory programming course designed specifically for non-CS majors such as COMPSCI 119 or COMPSCI/STATS 190F. In addition to basic programming constructs such as looping, conditions, arrays, file handling, and methods, 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?
The course follows a flipped classroom model of teaching and learning. We will be using lectures, labs, and the “Programming in Java (Early Objects)” online textbook from zyBooks.
Do I have to attend class?
Lecture is held twice per week. Lecture attendance is mandatory. 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 a reliable laptop computer that can run Java for this class. Your laptop must be configured to access the Eduroam wireless network. Please see or visit the campus OIT office for support. See: https://www.umass.edu/it/wireless.
Do I need a clicker for the class?
iClickers are required for lectures. You must register your iClicker in the Moodle 121 course page to get points for answering iClicker questions. You must purchase a specific type of iClicker model 2. See https://www.umass.edu/it/audience-response-system. Links to purchase the textbook and iClicker can be found in spire.
The Academic Oversight Committee (room 319 of Bartlett Hall) of the Student Government Association has created an iClicker Lending Library. This library is free, and it allows students to sign out an iClicker for a semester. The iClicker is registered to the student who is taking it out, and this student is able to use the iClicker in any class that asks for iClickers to be used. These iClickers must be registered on the Moodle 121 course page.
Are there special software tools that I need for this class?
You'll need to install Java and the jGRASP development environment for this course. We will provide you with specific instructions about which software to install at the beginning of the course. All software used in the course is freely available. While we strongly recommend jGRASP, you may use an alternate development environment other than jGRASP if you prefer; however, we will provide support for jGRASP but no other IDE (for e.g. Eclipse, Dr Java etc.). Any alternate IDE must include a debugger, the ability to run JUnit tests, and project management.
How can I get help with COMPSCI 121?
Please see our syllabus for more detailed information about the course: CS 121 Syllabus
PRIMITIVE DATA TYPES
ABSTRACT DATA TYPES (Classes)
RUNNING A PROGRAM
GRAPHICAL USER INTERFACE (GUI)
INHERITANCE BY EXTENSION
INTERFACES (Inheritance by implementation)