arrowThe Left Navigation Bar:
Links to class syllabus, assignments, projects, examples,
web tools, downloads, & more (possibly useful) information.
Note: Links are unique to course.


Welcome to CS 200, Programming Fundamentals!

This course serves as an introduction to principles of computer programming.

It covers fundamental concepts including input/output, data types, arithmetic, relational, and logical operators, branching, looping, methods, arrays, and an introduction to object oriented programming (OOP). Programming projects involving these concepts will be assigned for interactive applications, numeric computations, and analysis of data.

A common comprehensive final exam will(may) be given for all sections of CS-200, the date of the final exam is listed in the Weekly Schedule.

Course Pre-requisite: MATH-173 minimum grade of C

 


 

Required Textbook:
Introduction to Java Programming, Comprehensive Version, 12th Ed.
Author: Y. Daniel Liang,
Publisher: Pearson
ISBN 9780136520238

Additional Supply Requirements to bring to every class:
 
1 USB flash drive or separate directory/folder on your computer to store your work. jGrasp IDE, flowcharting template (sample template) or computer flowchart drawing tool, pencil with eraser, black pen, and red pen.

 


 

You are responsible for the reading that is assigned in the syllabus and listed below in the Weekly Schedule.
 
The reading assignment for each week is to be completed TWICE in the week in which the reading is assigned in order to be prepared for the video lecture/discussion/lab.
 
First textbook read through: If there is a "Concept Guide" posted for the chapter, complete the text notes column as you complete the reading and submit it as .pdf via email, prior to starting the module work.
Second textbook read through (same pages): This time, at the end of the module to make sure you truly understand what has been covered thus far in the course.
The course material builds on itself, thus it is important to fully understand what you are learning - we need you to understand, and be smarter than the next AI ;-)

 

Web site content is subject to change, consider checking this page at least twice weekly.

 

blocks

CS 200-3 Peer Leaders:

Jacqueline Landi: j-landi2@neiu.edu

Mohammad Bachcha: m-bachcha2@neiu.edu

blocks

Peer Leader and Tutor Schedule: See course Google Chat Space for all schedules, locations and updates

blocks

Weekly Schedule: reading assignments,written assignments,virtual assignments...

The sign of a prepared student, textbooks in hand, along with materials for note-taking, ready at the first class.
(the textbook for this class is listed in the syllabus)


All reading assignments and concept guides (text portion) are to be completed prior to starting the module's content.

Quick Links to:

Week 00

Week 01 :: Week 02 :: Week 03 :: Week 04 :: Week 05

Week 06 :: Week 07 :: Week 08 :: Week 09 :: Week 10

Week 11 :: Week 12 :: Week 13 :: Week 14 :: Week 15

Final Exam

 

 


Week # 0 - (Prior to starting course work)

Welcome!

Prior to starting the course the plan is to get aquainted with our online environment for this course.
Please watch the video tour of our learning environment.
Note: The video was created for a previous summer session of the course, please only focus on how the course is to be navigated as weekly modules. The actual Spring 2025 dates, times, syllabus, synchronous workshop, project and peer leaders will be different and are (or will be) posted on this page.

text captioning of Welcome Video

 

This course is broken into Weekly Modules.
The modules start on Mondays at 12:01 a.m. and conclude on the following Sunday by 11:59 p.m.
Module work can be accepted starting on Mondays at 12:01 a.m. and all module work must be submitted by the end of the module on Sundays by 11:59 p.m.
The earlier in the week that you submit your work for scoring, the more opportunities you will receive for feedback and ability to resubmit your work for rescoring.
Work turned in after 5 p.m. on Fridays is not elible for resubmission, unless noted otherwise.
Work ahead if you can only work on the course on the weekends and schedule send your emails for Monday mornings.

Read the syllabus

A link to the syllabus is located in the navigation bar located on the left side of this page.

The syllabus contains the plan for the course.
Here is a "short list" of some of the key details that you will find in the syllabus:

Explore the course home page

Time to check out this place!
← View the links in the navigation bar on the left side of the page - click on them - and check out the content.
Try out the quick links at the top of the page.
Then, LOOK AHEAD at the plan for Week 1.


 


Each week, please make sure to scan the entire module at the start of the week for due dates before starting module as a linear process.

Scan the entire semester to get a feel for the workload during the next 15 weeks of this course.

 


 


Week # 1 - (1.21.25 - 1.26.25)

 

No class: 1.20.25 - MLK Jr. Birthday Holiday!

 

All assignments with a subject line,
are to be emailed to me (f-porps@neiu.edu)
during the module in which they are due.
The last possible day to send in your work is on Sundays by 11:59 p.m.

Introduce yourself to me! Email me at f-porps@neiu.edu, with your answers to the questions listed below as this is your first activity point assignment: (5 pts.)

So...let's get to know each other!

  1. What is your name? (or what do you like to be called)
  2. Your personal pronoun
  3. Your favorite food
  4. Do you have any pets?
  5. Why did you choose to take CS 200?

I will get us started with a bit about me:

  1. Freddy Porps (Prof. Porps or Freddy works for me)
  2. she/her/hers
  3. Pizza (any kind -just no mushrooms)
  4. A Big Fluffy Dog named Lucy. You may meet her as sometimes she makes cameo appearances during my Zoom office hours.
  5. I love to code! I have enjoyed problem solving and coding (starting with BASIC, Fortran, and Pascal) back when I was in high school. I still love to code for fun!

subject line: CS 200 > Module 1 > Introductions! (5 pts.)

 

Read: Chapter 1 - Introduction to Computers, Programs, and Java, pages 1 - 23

Complete:Concept Guide 01 - Introduction to Programming and Java (5 pts.)

subject line: CS 200 > Module 1 > CG > Introduction to Programming and Java (5 pts.)

 

Watch: Explaining Desktop PC Hardware (This is an overview of the hardware components that make up a computer.)

What hardware component did you find most interesting, and why?
(2 pts.)

subject line: CS 200 > Module 1 > Most interesting hardware component (2 pts.)

 

Print: Flowchart Symbols for note-taking.

 

Watch this video: Introduction to CS 200 and Java

Then, answer these 3 questions (3 pts.):

  1. Is Java a high-level or low-level programming language? And why?
  2. Is System an object or a primitive data type? How do you know?
  3. What flowchart shape is used to note input or output?

subject line: CS 200 > Module 1 > Video: Introduction to CS 200 and Java (3 pts.)

 

Watch this video: Java IDE jGrasp Tutorial - Hello World! YouTube video!

Note: If you plan to work on assignments at home rather than a lab computer on campus, make sure you install jGrasp on your home computer. There is a link to the jGrasp web site on this page in the navigation bar on the left, if you do not have an install disk with your text. You may also need to install the JDK from Sun Microsystems, again, the link is on this page in the navigation bar on the left. Not sure how to install these two programs? Watch the video: Tutorial - Installing jGrasp and the JDK YouTube Video.

 

Assignment 01: (2 pts.) due by the end of this module
(see syllabus for lab/assignment grading details)
Click on the link in the navigation bar on the left to see "How do I submit assignments and lab work"

subject line: CS 200 > Module 1 > Assignment 01 > HelloWorld (2 pts.)

 

Go to Week 15> to discover all the concepts you will be learning in this course and the final exam date and time.

How was the first module? Your feedback is worth the remaining +3 pts. for this module.
Please let me know your opinions on:

  1. Textbook readability
  2. video presentations (there were 2 at this point Module 0 and 1)
  3. concept guide and other handouts/worksheets
  4. peer led workshop
  5. course home page layout, content, and organization

subject line: CS 200 > Module 1 > Feedback
due by the end of this module (3 pts.)

 

Upon successful completion of this module, you have met the course objective(s):
 
Java Technology - Be able to identify key features of Java Language
Editions of Java, JDK, JVM,
interpreted vs compiled language
and operating system of your computer

 

 


Week # 2 - (1.27.25 - 2.2.25)

Read: Chapter 2 - Elementary Programming

 

We will start with the 2nd half of Chapter 2 first...
Why? It helps to have a global view of the programming process before you start coding.

 

Complete:Concept Guide 02-Elementary Programming: Overview of the Programming Process, (5 pts.)

subject line: CS 200 > Module 2 > CG > Overview of the Programming Process (5pts.)

 

Watch this video: Introduction to Programming - The Software Development Cycle

Then, answer these 2 questions (6 pts.):

  1. In what phase of the software development cycle is the program explained as to how it works for user?
  2. What is wrong with this comment:
    //commenting the use of this variable
    because it is important to note for what the storage space is being used

subject line: CS 200 > Module 2 > Video: Software Development Cycle (6 pts.)

 

View this show, while listening to the video below.
(Introduction to Programming - Introduction to Object Oriented Programming (OOP) show)

Listen to the audio in this video (note: see show above for slides): Introduction to Programming - Introduction to Object Oriented Programming (OOP)

text captioning of Introduction to Object Oriented Programming (OOP)

Think of a sport water bottle as an object,
then, answer these 2 questions (7 pts.):

  1. Attribute or Behavior? Determining how much water is currently in the bottle.
  2. Attribute or Behavior? The capacity of the water bottle. (how much water the bottle can hold)

subject line: CS 200 > Module 2 > Video: Introduction to Object Oriented Programming (OOP) (7 pts.)

 

Then, complete the HelloWorld2 lab as noted in the video. (2 pts.)
(see syllabus for lab/assignment grading details)

subject line: CS 200 > Module 2 > lab > HelloWorld2 (2 pts.)

 

 

 


Back to the beginning of Chapter 2...
let's start problem solving with flowcharts and Java code!

 

 


Week # 3 - (2.3.25 - 2.9.25)

Complete:Concept Guide 03-Elementary Programming: Basic Computation - The Main Method, Expressions and Data Storage (Variables\Constant\Literals) , (5 pts.)

subject line: CS 200 > Module 3 > CG > Basic Computation (5 pts.)

 

Watch this video: Basic Computation - a closer look at the Payroll.java file

text captioning of Basic Computation - a closer look at the Payroll.java file

What were your 5 biggest take-aways (i.e. lessons learned) from this video (10 pts.)

subject line: CS 200 > Module 3 > Video: Basic Computation - a closer look at the Payroll.java file - 5 lessons learned (10 pts.)

 

Watch this video: Review of API, Input and Output (I/O)

text captioning of Review of API, Input and Output (I/O)

 

Watch this video: Data Types, Operators, Math class (object), and scope

text captioning of Data Types, Operators, Math class (object), and scope

 

 

Then, complete the ModifiedPayroll lab as noted in the video. (2 pts.).
(see syllabus for lab/assignment grading details)

subject line: CS 200 > Module 3 > lab > ModifiedPayroll (2 pts.)

 

The following items should be read, run (if code), and printed (adding your own notes) and placed in your reference notebook:
Scanner Class Example: Keyboard Input
Example:Scanner Class-Methods
Payroll.java - copy, paste, compile and run
Java Reserved Words
Primitive Data Types (including range)
ASCII Code Table (Latin Subset of Unicode)
Operator Precedence Table - we will be adding to this table as the semester progresses
Increment & Decrement Operators Example- copy, paste, compile and run

Take a look at these files for more information on the subject of input and output.{Again: items should be read, run (if code), and printed (adding your own notes) and placed in your reference notebook}
input:
Sample: Scanner Vs. Dialog Box
output:
Example:Printf
println Vs. printf
Decimal Formatter Object
All currency output must be properly formatted from this point in the course forward.

 

Lab/Assignment 02: (2 pts.) due by the end of this module
(see syllabus for lab/assignment grading details)

subject line: CS 200 > Module 3 > lab > Assignment 02 > Pizza (2 pts.)

 

Please see pop up box this week for remaining lab to complete (2 pts.).

subject line: CS 200 > Module 3 > lab > Pop-Up Box (2 pts.)

 

Upon successful completion of this module, you have met the course objective(s):
 
Decode a given set of computer instructions to determine exactly what they do
Be able to write a simple Java program - main method, run a program
import packages
Java Data Types: casting, declaring, primitives, String

Yes, there was a bonus point this week ;-)

 

 


Week # 4 - (2.10.25 - 2.16.25)

 

No class: 2.12.25 - Lincoln's Birthday Holiday!

 

Try a practice quiz to prepare for future class assessments/deliverables.
List at least one thing you learned for each of the 2 questions in the practice quiz. (2 pts.)

subject line: CS 200 > Module 4 > Practice Quiz > Lessons Learned (2 pts.)

 

Read: Chapter 3 - Selections (AKA branching structures)

Complete:Concept Guide 04 - Decision Structures: Selections (AKA Branching) (5 pts.)

subject line: CS 200 > Module 4 > CG > Selections (AKA Branching) (5 pts.)

 

Watch this video: Selections (AKA branching structures)

text captioning of Selections (AKA branching structures)

 

 

Read (before class) and bring a print-out (hard copy) of:
Lab Doc 01 - (2 pts.) due by the end of this module (specifications for this lab is in the Branching Video)
(see syllabus for lab/assignment grading details)

subject line: CS 200 > Module 4 > Lab > Doc 01 (2 pts.)

 

Lab Doc 02 - (2 pts.) due by the end of this module (specifications for this lab is in the Branching Video)
(see syllabus for lab/assignment grading details)

subject line: CS 200 > Module 4 > Lab > Doc 02 (2 pts.)

 

Conditonal Operator - copy, paste,compile and run
for note-taking.

Lab/Assignment 04: (2 pts.) due by the end of this module
(see syllabus for lab/assignment grading details)

subject line: CS 200 > Module 4 > Lab > Asst 04 (2 pts.)

 

Flowcharting Homework:
Practice Flowcharting problems
Complete flowcharts for the problems that are in file linked above. They are due at the end of this module.
Please stop by during office hours to work on flowcharting if you are having any difficulties with this task.
"Flowcharts Only" for these problems (+1 point each) due by the end of this module

subject line: CS 200 > Module 4 > Flowchart > #1(send each as separate emails so I can give feedback separately for each) Thus, #1 - #4 (1pt. each * 4 = 4 pts.)

 

Watch: Java Review, including common coding errors List your top 3 lessons learned from this show. (3 pts.) due by the end of this module

subject line: CS 200 > Module 4 > Java Review > Top 3 (3 pts.)

 

Rework the code from Lab/Assignment 04 to utilize Switch/Case coding technique, use the default case for error message.(2 pts.) due by the end of this module
(see syllabus for lab/assignment grading details)

subject line: CS 200 > Module 4 > Lab > Modified Asst 04 > switch/case (2 pts.)

 

 

Upon successful completion of this module, you have met the course objective(s):
 
Formulate a sequence of steps in order to solve a given programming problem
Encode such steps as instructions for a computer to perform them
Decode a given set of computer instructions to determine exactly what they do
Be able to write a simple Java program - main method
Java Data Types: casting, declaring, primitives, String
Operators/Decisions: if/else,switch/case, break

Yes, there were 2 bonus points this week ;-)

 

 


Week # 5 - (2.17.25 - 2.23.25)

If you have not yet explored the links in the navigation bar on the left ← now is the time to start!

After reviewing Weeks 1 - 4 (from 2012/13), in the navigation bar on the left, quote 1 student each week from each of the 4 weeks that helped you to understand a concept that was covered during that week. (4 pts.)

subject line: CS 200 > Module 5 > Quoted Four (4 pts.)

 

n.b. You may want to look at each week, notes in student words, as you work through this course for more help on the concepts you are learning.

 

Read and bring a print-out (hard copy) of:
Review Summary
Then list at least 3 items that you were glad to get a reminder about, as you forgot about it (already). (3 pts.)

subject line: CS 200 > Module 5 > 3 positive memories (3pts.)

 

Read: Chapter 4 - Mathematical Functions, Characters, and Strings

Complete:Concept Guide 05 - Numbers, Characters, and Strings: Objects, Methods, and I/O Housekeeping (5 pts.)

subject line: CS 200 > Module 5 > CG > Strings and I/O Housekeeping (5pts.)

 

Watch this show (it is silent): Numbers, Characters, and Strings: Objects, Methods, and I/O Housekeeping Show
Use the enter key or arrows on the keyboard to proceed through the presentation.

.pdf file format for: Numbers, Characters, and Strings: Objects, Methods, and I/O Housekeeping Show

 

Read and print-out (hard copy) to take notes:
Example:String Method-Compare - copy, paste,compile and run
Random Method of the Math Class - copy, paste,compile and run
 
Print and review the following from Week 2:
ASCII Code Table (Latin Subset of Unicode)
Example:Printf
println Vs. printf
Decimal Formatter Object

 

Check out ALL of the String Object METHODS.

Choose 2 String Object methods that were NOT demonstrated in any lecture, create a sample Java program using them, AND explain how they work using your own words as comments in the code. (6 pts.)
(see syllabus for lab/assignment grading details)

subject line: CS 200 > Module 5 > Lab > Demonstration of 2 String Methods (6 pts.)

 

Please see pop up box this week for remaining 2 labs to complete (2 pts. each, total 4 pts.).
(see syllabus for lab/assignment grading details)

subject line: CS 200 > Module 5 > Lab > Pop Up 1 (2 pts.)

subject line: CS 200 > Module 5 > Lab > Pop Up 2 (2 pts.)

 

Upon successful completion of this module, you have met the course objective(s):
 
Formulate a sequence of steps in order to solve a given programming problem
Encode such steps as instructions for a computer to perform them
Decode a given set of computer instructions to determine exactly what they do
Be able to write a simple Java program - main method
Java Data Types: casting, declaring, primitives, String
Operators/Decisions: if/else,switch/case, break

Yes, there were 2 bonus points this week ;-)

 

 


Modules 6 and 7 are combined...
thus, you have 2 weeks to complete the work on repetition structures.
Complete and submit the activities in a linear order from top to bottom.

 

 


Week # 6 - (2.24.25 - 3.2.25) AND Week # 7 - (3.3.25 - 3.9.25)*

* Point values have been increased to total 40 points for these 2 weeks combined.

Read: Chapter 5 - Loops (AKA Repetition Structures)

Complete:Concept Guide 06 - Repetition Structures for code reusability (AKA Loops) (5 pts.)

subject line: CS 200 > Module 6-7 > CG > Repetition Structures for code reusability (AKA Loops) (5 pts.)

 

Watch this video: Repetition Structures

text captioning of Repetition Structures

 

For the labs listed below, in addition to the "Lab Sandwich," describe what you learned from the lab(e.g. trouble you had, concept you can describe back to me - teach it to me, or technique you applied).

subject lines for the 4 labs embedded within the Repetition Structures video: (4 pts. each, total 16 pts.)
(see syllabus for lab/assignment grading details)

Key Components of a repetition structure assignment:
Create a poster containing the 4 key components of a repetition structure and take a selfie with your poster. Then, paste your selfie into the body of the email.(3 pts.)

subject line: CS 200 > Module 6-7 > Repetition Structures > selfie with poster (3 pts.)

 

Print and review the following from Week 2: Increment & Decrement Operators Example- copy, paste,compile and run

Why is the output for this code: 8 2
Explain what is the value of each variable in storage as you trace through the code, noting the changes in value for each iteration of the loop. Write your explanations as comments by each line of code. (16 pts.)

public class Drill13b{
public static void main (String [] args)
{
int x = 0;
int y = 0;
for (int z = 0; z < 5; z++)
{
if((++x > 2) || (++y > 2))
{
x++;
}
}
System.out.println( x + " " + y);
}
}

subject line: CS 200 > Module 6-7 > ++ and -- (16 pts.)

 

Upon successful completion of this module, you have met the course objective(s):
 
Formulate a sequence of steps in order to solve a given programming problem
Encode such steps as instructions for a computer to perform them
Decode a given set of computer instructions to determine exactly what they do
Be able to write a simple Java program - main method
Java Data Types: casting, declaring, primitives, String (char.At, length())
Operators/Decisions/Loops: if/else, switch/case, while, for, do-while, break & continue

 

 


Week # 8 - (3.10.25 - 3.16.25)

Review and Practice Week: No assigned Reading

Watch this video: Tracing: Loops

text captioning of Tracing: Loops

 

Complete:
Worksheet - Tracing: Loops
while watching the video. Then, list 4 things you learned about tracing code. You must submit the completed worksheet and your lessons learned (8 pts.) Due at the end of this module.

subject line: CS 200 > Module 8 > Trace with me: Loops (8 pts.)

 

Trace the code in the following worksheets by hand first, then, run the code and compare your work - noting any mistakes you made in the tracing (using your red pen for the corrections). In order to earn full credit for the tracing, include at least 2 lessons learned along with the traced code:
Worksheet - Tracing: Selections/Branching (4 pts.) Due at the end of this module.
Worksheet - Tracing: Selections/Branching With Operator Precedence (4 pts.) Due at the end of this module.
Worksheet - Tracing: Super Loops Challenge (single, double, triple nested) (4 pts.) Due at the end of this module.

subject lines for the above 3 additional tracing activities: (4 pts. each, total 12 pts.)
(see syllabus for lab/assignment grading details)

 

 


 

Spring Break! 3.16.25 - 3.23.25 (no classes)
Please consider working ahead on Week 9 if you have spare time.

 


Week # 9 - (3.24.25 - 3.30.25)

PRACTICE, PRACTICE, PRACTICE...

If you have not already started the 75 practice problems linked in the navigation bar on the left, NOW IS THE TIME!

Or try this final exam from Summer 2019: question packet and answer packet
Also, try the past exams posted in the course D2L shell.

Choose any 5 problems (2 pts. each * 5 = 10 pts.) from either the 75 practice problems (linked in the nav bar on the left side of the page) or the final exam from summer 2019 (linked above), then flowchart, code, and run them making sure to use enough runs to verify that code consistently works correctly for all cases (2 pts. each * 5 = 10 pts.). (20 pts. total) Yes, each problem ends up being worth 4 points, the usual 2 pts. for the lab sandwich and 2 points for the output runs proving that it works for all cases. Due at the end of this module.
Submit each problem in a separate email.
n.b. If the problem seems to need a tool you have not yet used, like it needs an array or a method, please do not choose that problem, as those concepts will be covered in the following weeks.

Use subject line for each of the 5 problems - submit only one problem per email: CS 200 > Module 9 > (list location of problem and problem number) (4 pts.)

 

 

Upon successful completion of this module, you have met the course objective(s):
 
Formulate a sequence of steps in order to solve a given programming problem
Encode such steps as instructions for a computer to perform them
Decode a given set of computer instructions to determine exactly what they do
Be able to write a simple Java program - main method
Java Data Types: casting, declaring, primitives, String
Operators/Decisions/Loops: if/else, switch/case, while, for, do-while, break & continue

 

 


Week # 10 - (3.31.25 - 4.6.25)

Progress check

Complete the Score Worksheet and Progress Check (2nd to last page in the course syllabus) (8 pts). For the remaining 10 points for the progress check, you have 2 options:
  1. Visit with me during office hours during weeks 10, 11, or 12 to discuss your progress in the course
  2. Write a 3 page summary of what you have learned thus far in the course, using your own words and including sample code snippets as examples in your explanations

subject line: CS 200 > Module 10> Progress Check (18 pts.)

Lab/Assignment 05: (2 pts.) Due at the end of this module.
(see syllabus for lab/assignment grading details)

subject line: CS 200 > Module 10 > Lab > Asst 05 > with embedded extra credit (2 pts.)

 

If you choose to terminate participation in a class, and wish to receive a grade of withdrawn (W), the deadline to drop a course is Friday, 4.11.25 by 11:59 p.m., via NEIUport. If you do not officially withdraw from a class, you will still receive the grade for the course. Please email me or stop by during office hours to discuss your performance in class before making this decision.

 

 


Week # 11 - (4.7.25 - 4.13.25)

Read: Chapter 6 - Methods (AKA Encapsulating a Task)

Complete:Concept Guide 07 - Methods for code modularity and reusability (5 pts.)

subject line: CS 200 > Module 11 > CG > Methods for code modularity and reusability (5 pts.)

Watch this video: Methods

text captioning of Methods

 

Flowchart (the method only) and code at least 5 menu options for the Super Calculator (10 pts.)
(see syllabus for lab/assignment grading details)

subject line: CS 200 > Module 11 > My Super Calculator (10 pts.)

n.b. The Super calculator has embedded extra credit.

 

Read and print-out (hard copy) to take notes:
Example: Method OverLoading - copy, paste,compile and run
Then, watch this: Method Overloading

 

Use the links below to complete some method problems. Send 2 full browser window screenshots for each problem:
1. your first attempt
2. your final (hopefully fully correct) attempt
Point values are listed in the subject line (total pts.: 5)

 

Upon successful completion of this module, you have met the course objective(s):
 
Formulate a sequence of steps in order to solve a given programming problem
Encode such steps as instructions for a computer to perform them
Decode a given set of computer instructions to determine exactly what they do
Be able to write a simple Java program - main method and encapsulate a task within a separate method
Java Data Types: casting, declaring, primitives, String
Operators/Decisions/Loops: if/else, switch/case, while, for, do-while, break & continue
Methods, creating and using them, including overloading

 

 


Week # 12 - (4.14.25 - 4.20.25)

Read: Chapter 7 - Single-Dimensional Arrays

Complete:Concept Guide 08 - Arrays (Covers Chapters 7 and 8) (5 pts.)

subject line: CS 200 > Module 12 > CG > Arrays (5 pts.)

Watch: Arrays Complete

Read and bring a print-out (hard copy) of:
Intro to arrays - copy, paste,compile and run
Array Bounds Checking: Run-Time Error - copy, paste,compile and run
After running and reviewing the above code, please answer these 2 questions (2 pts.)

  1. When an array is declared - what is actually being stored in the identifier?
  2. What is wrong with this code snippet?
    int []x = {1,2,3};
    if(x[3] == 3)
    System.out.print("true");

subject line: CS 200 > Module 12 > Array reference and Bounds Checking (2 pts.)

 

Lab Doc 01- (2 pts.) due by the end of this module (specifications for this lab is in the comments)
(see syllabus for lab/assignment grading details)

subject line: CS 200 > Module 12 > Lab > Doc 01 (2 pts.)

 

Lab Doc 02 - (8 pts.) due by the end of this module (specifications for this lab is in the comments)
(see syllabus for lab/assignment grading details)

subject line: CS 200 > Module 12 > Lab > Doc 02 (8 pts.)

 

Arrays and Methods:
Primitive Data types are passed by value, i.e. a copy of the argument value is passed in the method parameter.
Watch this: Data passed by value
Objects (arrays are objects) are passed by reference (the address location in memory), thus changes made to the parameter will change the argument sent.
Watch this: Data passed by reference (an array object)

Explain, using your own words, how data can be passed into a method.
Describe the entire process from caller to method. (3 pts.) due by the end of this module

subject line: CS 200 > Module 12 > Lessons Learned: Passing data by Value Vs. Reference (3 pts.)

 

 


Week # 13 - (4.21.25 - 4.27.25)

Read: Chapter 8 - Multidimensional Arrays and Revisit Object Oriented Programming (OOP)

Learn more about multidimensional arrays, including ragged/jagged arrays...
Read about: ragged/jagged arrays.
Watch: ragged/jagged arrays
Draw a picture illustrating data that would use a ragged array. (3 pts.) Due at the end of this module.

subject line: CS 200 > Module 13 > Ragged Array Diagram (3 pts.)

Create a short program that would take in your example array as data from the keyboard, then display it from last row to first row. (2 pts.)

subject line: CS 200 > Module 13 > Lab > Enter and display ragged array (2 pts.)

 

Lab/Assignment 06: (2 pts.) Due at the end of this module.(see syllabus for assignment grading details)

subject line: CS 200 > Module 13 > Lab > Asst 06 > Mouse & Cheese (2 pts.)

 

 

Important!

Revisit the concept that Java is an object oriented programming (OOP) language, as there will be a section on objects as part of your final module test.
Watch this video first:Classes and Objects in Java: Tutorial for Beginners
Then, read the following: Java - Object and Classes .
Finally, read about: constructors

Using your own words, make a detailed list of 13 concepts/ideas that you learned about object oriented programming. (13 pts.)

subject line: CS 200 > Module 13 >What I understand about OOP (13 pts.)

 

Upon successful completion of this module, you have met the course objective(s):
 
Formulate a sequence of steps in order to solve a given programming problem
Encode such steps as instructions for a computer to perform them
Decode a given set of computer instructions to determine exactly what they do
Be able to write a simple Java program - main method and encapsulate a task within a separate method
Java Data Types: casting, declaring, primitives, String
Operators/Decisions/Loops: if/else, switch/case, while, for, do-while, break & continue
Methods, creating and using them, including overloading
Arrays: 1D and 2D arrays

 

 


Week # 14 - (4.28.25 - 5.4.25)

Read: Chapter 9 - Objects and Classes

Concept Guide for the Objects and Classes module are free form notes (you may continue where you left off in the Module 13 aaignment about OOP) from information posted starting in Module 8 (5 pts.) due by the end of this module. (see syllabus for details)

subject line: CS 200 > Module 14 > CG > Objects and classes (5 pts.)

Read and bring a print-out (hard copy) of:
CalculatorDriver23.txt - copy, paste,compile and run

Watch this video: Object Oriented Programming

text captioning of Object Oriented Programming

 

Build a Robot object...
Watch: Coding an object.

 

 

Important!

More about objects and classes...
read about access specifiers: (default, public, private, protected).
Then watch this video:Java Access Specifier Tutorial (then go back and reread above noted page).
Finally, watch a coding example: Public, Private, Protected and this (Java Access Modifiers).

 

 

In addition to class this week, visit the tutors, participate in peer workshop, finish the 75 programming questions, and stop by during office hours to practice programming...
the common final exam is this weekend. Are you ready?

Try the past exams posted in the course D2L shell as they will be more similar to the final exam you will be taking this semester to review the skills you will need to master in order to progress into CS 207, Programming II. Also, time yourself, try completing this exam within the 2 hour time constraint, bring your work and questions to class.

 

The last assignment:
Utilizing the numbered list posted below (Week 10),
create a .pdf file
describing each concept using your own words (you may also include short Java code examples with comments)
(15 pts.) Due at the end of this module.

subject line: CS 200 > Module 14 > A Summary of what I have learned (15 pts.)

 

Upon successful completion of this module, you have met the course objective(s):
 
Formulate a sequence of steps in order to solve a given programming problem
Encode such steps as instructions for a computer to perform them
Decode a given set of computer instructions to determine exactly what they do
Be able to write a simple Java program - main method and encapsulate a task within a separate method
Java Data Types: casting, declaring, primitives, String
Operators/Decisions/Loops: if/else, switch/case, while, for, do-while, break & continue
Methods, creating and using them, including overloading
Arrays: 1D and 2D arrays
Using Objects: Class structure, object lifecycle, basic instance methods, instance variables, creating instances

 

 


Week # 15 - course end 5.11.25

Review for final module test:

  1. primitive data types,
  2. String Object,
  3. constants (final),
  4. literals,
  5. identifiers,
  6. operators: math, relational and logic,
  7. typecasting,
  8. forcing conversions,
  9. linear process,
  10. branching (if/else, switch/case),
  11. repetition structures (pre-test:for and while; and post-test loop: do/while),
  12. nesting constructs,
  13. methods: return types, parameters, arguments passed by value, arguments passed by reference (arrays), and overloading,
  14. arrays: single, multidimensional and ragged
  15. classes and objects: attributes,constructors, behaviors,
  16. access specifiers

n.b. If there is anything on this list that you would like more practice, please stop by during office hours and work with the peer leaders as well.

 

 

Final Module Test! (25 pts.)

Available Monday, 5.5.25 at 12:01 a.m.
Due: Tuesday, 5.6.25 by 11:59 p.m.
Allowed Time: 2 hours (120 minutes) once started
LOCATION: Course D2L shell

 

 

NEIU Home :: NEIUport

web page updated: 2.27.25 🐞