COMP 268 (Introduction to Computer Programming in Java) is a three-credit computer science course that builds on the concepts that were introduced in COMP 200 (Introduction to Computing and Information Systems) and COMP 210 (Introduction to Information Systems and Computer Applications) which are highly recommended to be taken prior to COMP 268. If you want to know more about COMP 200, read my course exam article! COMP 268 teaches students how to use the Java programming language and requires students to design, write, and analyze Java code. Prior to enrolling, students should have basic knowledge of computers, be a proficient user of the internet, be able to use Microsoft Word, have high school level knowledge of algebra, and should be able to set up a relevant programming environment (IDE and Java’s runtimes).
Students will be required to download an Integrated Development Environment (IDE) for this course. Personally, I recommend IntelliJ as it is free, it highlights errors, auto completes some text, it has an integrated debugger that is useful for solving programming errors, and can be useful for the required written reflections.
Introduction to Computer Programming in Java is comprised of seven units that cover seven chapters, one assignment weighing zero percent (optional), two assignments weighing thirty percent each, and a final exam worth forty percent. The seven units within this course cover topics such as arrays, subroutines, objects, classes, GUI programming, object-oriented programming, recursion, control flow, methods, inheritance, and polymorphism. For each assignment, students will have to apply, program, test, debug, and analyze (write reflections in Word) the inputs and outputs of their code in Java.
Students are required to submit a written reflection for each programming question in all assignments. For each question, the reflection has three components, which include writing a problem statement (copy and paste the question), a description of the code (usually about one or two paragraphs explaining what the code does and the classes that were used), two to five errors and/or warnings that were received while programming and how they were solved, and an appropriate amount of sample input and output test cases.
Assignment zero in this course is short, optional, and is not worth any marks. This assignment is made of two parts. Part one has students writing a short program that allows users to input a temperature in Celsius and then the program prints the result in Fahrenheit (a simple temperature conversion). Part two is three short questions that can easily be answered from the content within the textbook. I recommend students to do this assignment as it provides so much useful feedback. It is considered a practice activity and it allows students to better understand the submission requirements and the tutor’s expectations. If students complete this assignment, the tutor will provide in-depth feedback that will help students with the other two assignments in the course. It also allows the tutor to assess your programming strengths and weaknesses and allows the tutor to recommend useful resources if needed. Keep in mind, the other two assignments are worth thirty percent each and students must receive a minimum of fifty percent on each of them to still be able to pass the course.
Assignment one is extremely lengthy and time consuming, especially for students that have very little experience programming. This assignment has students programming ten questions and writing ten associated reflections. This assignment easily took me a couple of weeks to finish. For example, a few questions within this assignment require students to create an address book containing individual’s personal data (names, phone numbers, home addresses, etc.), write a program computing total bonus amounts that were earned by employees, write a program that prompts users to enter two points and then calculate and display the distance between the two points using a provided formula, and write a program that iterates through numbers using a loop. Thankfully, this assignment has students reusing coding pieces which made programming the assignment questions quicker.
Assignment two was thankfully shorter! For this assignment, students are required to choose three questions from questions one though seven and only one question from questions eight through ten (for a total of four programming questions and four associated reflections). For example, a few questions within this assignment require students to write a program that plays the Rock-Paper-Scissors-Lizard-Spock game from The Big Bang Theory, implement Luhn’s algorithm in a program to determine whether a given credit card number is valid or not, and develop a program that plays craps (dice gambling game) with a player three times and prints the number of times the player won and the number of times the player lost.
The final exam for this course is an online, closed-book exam that consists of ten questions worth ten marks each. Students will have three hours to complete this exam and must receive a minimum of fifty percent to pass. This exam has long answer questions, short answer questions, multiple-choice questions, and programming questions. Thankfully, there is a sample exam that students can take prior to writing the final that is a pretty accurate representation of the actual exam.
From personally taking this course I found it to be time consuming, though the questions were basic and easy to comprehend. The exam was also a lot easier than I had anticipated. If you can complete the sample exam that is provided with few difficulties, you should be well prepared for the final exam. Also, other than assignment zero, I hardly used the textbook. I found that the programming questions were easy enough to understand or were easily searchable online. I often used Stack Overflow to help me solve some of my coding errors and I recommend you to do the same; it is a great resource for programmers! Overall, I really enjoyed this course and I found that it taught a lot of fundamentals that will be useful in COMP 272 (Data Structures and Algorithms). This course is a degree requirement for my program, though I would recommend it to anyone who is interested in learning the Java programming language!