ITEC 120 - Principles of Computer Science I - Fall 2018

Course Syllabus


Instructor Shawn Brenneman

Office: Davis 016 (831-5415)
Office hours:  
M ·  10 - 11am
T ·  11am - noon
W ·  10 - 11am
F ·  noon - 2pm
  and by appointment

Required Text
 Java Software Solutions  
 John Lewis and William Loftus
 9th Edition
 ISBN: 978-0134462028

 This book is required for ITEC 120 ONLY.

--- OR ---

 Java Software Solutions  
 John Lewis and William Loftus
 8th Edition
 ISBN: 978-0133594959

 This book is required for ITEC 120 ONLY.

--- OR ---

 Java Foundations  
 John Lewis, Peter DePasquale,
 and Joe Chase

 4th Edition
 ISBN: 978-0134285436

 This book is required for ITEC 120,
 ITEC 220 and ITEC 324.
Course Schedule
D2L course
Online Class


Schedule Overview (subject to change)

1 Data and Variables
2 Expressions
3 Conditionals
4 While Loop
5 Methods
Testing, for loop
7 Arrays
8 Classes and objects
9 Object Oriented Design
Comparing objects, Arrays of objects
- - - Withdrawal deadline - - -
11 Data Files
12 2D Arrays
  T H A N K S G I V I N G     B R E A K
13 Inheritance
14 Exceptions
  FINAL EXAM - 10:15am Tue, Dec 11



  Attendance 6%
  Quizzes 10%
  Lab Tests 20%
  Homework 15%
(12% Exam 1, 12% Exam 2)
  Final Exam 25%

ITEC majors must make a C or better in ITEC 120 before they can take ITEC 220.

To get a C or better in this class you must also get a C or better on the exams.

Grading Scale
A     90 and above
B     [ 80 - 90 )
C     [ 70 - 80 )
D     [ 60 - 70 )
F     below 60


Course Limit

You may only take ITEC 120 twice. If you don't pass it in two tries, you will need to change your major. A withdrawal with a W counts as an attempt (but does not negatively impact your GPA).


Course Description

This course introduces the fundamental principles of computer science by teaching students to solve problems with the Java programming language. Students learn object-oriented techniques to decompose a problem into smaller problems that may be solved more easily. Concepts are presented in lecture and applied in the lab where students gain hands-on experience with all facets of computer science.



  1. You are expected to spend 8 – 12 hours outside of class each week. If you are unable to invest sufficient time outside of class you are unlikely to pass the class. Your performance and your capacity to learn are directly proportional to the amount of time and effort you invest in this course.
  2. You are expected to participate in class. You are expected to come to class prepared, to ask questions, and to provide feedback.
  3. You are expected to start assignments early and to ask questions. If you wait until the last minute to start an assignment your ability to learn will diminish and your performance will likely suffer. If you start early and ask questions you will find your instructors very supportive, you will enhance your ability to learn, and your performance will improve.
  4. You are expected to solve problems by applying the concepts and principles presented in class. This class will not teach you how to solve specific problems. This class will help you build a foundation that will enable you to solve any type of problem related to the concepts and principles covered in class.
  5. Don't be afraid to fail! People often learn more from failure than from success. If you are afraid to fail your ability to learn diminishes. You can learn a lot from mistakes. This class provides a supportive environment rewarding those who are willing to take risks. Ask questions, make comments, and be an active participant in class.


Academic Integrity

The value of the degrees conferred by Radford University is directly related to the integrity of the institution. By upholding the Honor Code you maintain the University's reputation and the value of the degrees conferred to all students. The Radford University Honor Code applies to this course. The Honor Code will be strictly enforced and all violations will be reported.

The purpose of this course is for every student to learn and master the material presented. Consequently, you are encouraged to work with other students and to use the Internet and other sources of information under the following conditions:

We work hard to insure that your grade reflects your level of understanding of the material. A good guideline to keep in mind: Do you understand the code that you are turning in?

If you are unsure of these guidelines speak with the instructor before you collaborate with another student or utilize a resource.

Each student who takes this course is given this document to sign to show they've been informed of the Academic Integrity policy and procedures used in this course.


All exams given in the course are on paper, and given in a proctored environment. All work on exams must be your own work. You may only use pencil or pen and paper on exams. No electronic devices, including calculators, are allowed. If you must miss an exam, you must communicate with the course instructor and make arrangments PRIOR to the exam. You will also need to provide documentation as to your reason for missing the exam.

Lab Tests

Lab tests are proctored 50 minute coding tests given in the computer lab during scheduled lab time. You must take all lab tests in the lab with a proctor. You may not take a lab test remotely -- to do so would be an academic integrity violation. All work on lab tests must be your own work. You may use your own code, your own labs, your own notes, and the Java API, but you may not use another student's code or copy solutions or partial solutions found online. If you must miss a lab test, you must communicate with the course instructor and make arrangments PRIOR to the test. You will also need to provide documentation as to your reason for missing the test.


Homework will be assigned throughout the semester. All assignments are to be completed on your own. You may not work with a classmate to solve a homework problem. You may not copy any part of another student's code and you may not refer to another student's code when coding your homework. Copying another student's code, electronically or otherwise, is an academic integrity violation. Copying another students code and changing it slightly is an academic integrity violation. You may not copy any solution or partial solution found online. Copying a solution or partial solution found online, electronically or otherwise, is an academic integrity violation. Copying a solution or partial solution found online and changing it slightly is an academic integrity violation. Turning in code that you did not do is an academic integrity violation.

You may ask your instructor or peer instructor for help on homework, but you must cite the name of the person who helped you in your code.

Late homework will not be graded.

You will submit assignments to an assignment dropbox on D2L. The assignment dropbox closes on the due date. If you miss the submission deadline you may submit to the Late Submissions dropbox. Late assignments will not be graded. However, it is wise to show that you completed an assignment by submitting your work to the Late Submissions dropbox. Late submissions may receive a small amount of extra credit at the end of the semester. Do not send an assignment via email. Assignments submitted via email will not be graded.

Non-compiling code

The maximum amount of credit for any submitted code (homework and lab tests) that does not compile is 50%. Often, non-compiling code will receive less than 50% credit.

As you work on code, compile and run often. If you have added code that does not compile, comment out the non-compiling code, recompile, then submit. Always compile your code right before submitting to be sure you have not introduced something in your code that does not compile.

No electronic devices in class

Turn off cell phones and put them away during class. Also put away your laptop. You will need to take notes on paper in a notebook in class. An important part of learning programming is getting the concepts in your head, which is easy to bypass if you are simply typing code into your computer during lecture. Your goal should be to get the concepts in your head, and from those concepts, be able to synthesize (not copy and paste) the code.



Please arrive for class on time.



Attendance counts towards your grade. You are expected to attend each class, prepare for each class, and contribute to class discussions. You are expected to attend labs, which also count toward your attendance grade.

You are responsible for all material presented in class and all announcements made in class. If you miss a class you are responsible for determining what was missed. Being absent when a homework assignment is made or changed, a test date announced, etc, is not an acceptable excuse for not being prepared.



Upon successful completion of this course students will be able to:


Students with Disabilities

If you are seeking academic accommodations under the Americans with Disabilities Act at Radford University, you are required to register with the Center for Accessibility Services (CAS). To receive academic accommodations for this class, please submit your documentation to the CAS on the third floor of Russell Hall Suites 301-327, by fax to 540-831-6525, by email to After submitting documentation to the CAS office, you will set up an interview with a disability services specialist to discuss accommodations. You will be notified via email once your accommodation package is complete and ready to be picked up. Once you have picked up your accommodation package, you will need to meet with each course professor to review and discuss your package. For more information and/or for documentation guidelines, visit or call 540-831-6350.


Best Practices for CS1

A best practice is a method or technique that has consistently shown results superior to those achieved with other means. In other words, this section describes what the most successful CS1 students do.

Come to class prepared
If you come to class knowing what to expect you will learn and retain much more information. The reading assignments are designed to prepare you for class. Plan to spend 1-2 hours before each class to read the assignment carefully and work through the reading quiz (which is due at 11:30pm the night before the lecture). Bring any questions to class.

Get the most from lecture
Getting as much as you can from lecture is important in this course.

  1. Attend (you won't get anything if you aren't there.)
  2. Be present - devote the the entire lecture time to what's going on in class.
  3. Put away all electronic devices, including your phone.
  4. Take notes on paper. The act of writing helps you remember better than typing notes or taking photos of notes.

Practice until you cannot get it wrong
Amateurs practice until they get something right. Professionals practice until they cannot get it wrong. There is no limit on the number of times you may take the Super quizzes. You keep your highest score. Each reading assignment provides hundreds of practice problems. Even if you score 100, keep taking the quiz until you cannot get any question wrong. This is also true for labs. Work each lab multiple times until you cannot do the lab wrong. You will need to do a lot of coding in this course. You want to keep coding until it becomes second nature.

Start assignments early
Labs provide step-by-step tutorials to demonstrate new techniques and constructs. Read each lab the night before the lab session. Homework assignments challenge you to apply what you learned to solve a problem. Follow the four-step problem solving process:

  1. Determine what needs to be done
  2. Determine how to do what needs to be done
  3. Do it
  4. Test your solution

You cannot solve a problem until you understand what the problem is. Read each lab and homework assignment, identify what you need to learn to complete the assignment, and make sure you understand what needs to be done. Get started early, so if you run into problems and get stuck, you will still have time to get help.

Learn to fail fast
Do not waste time going down the wrong path. Test early and test often to ensure that you are on the right path.

Work smart
Students often make the mistake of working harder rather than taking the time to think through what they are doing. If you plan ahead you will learn more, you will perform better, and you will save significant amounts of time.