RU beehive logo ITEC dept promo banner
ITEC 120

Principles of Computer Science I
ITEC120 archive

ITEC Tutor and Peer Instructor hours

ITEC120 is an introduction to programming. It approaches programming as problem-solving, emphasizing:

Prerequisites and expectations

Pre-requisite: ITEC 109 with a grade of "C" or better; or an SAT Math score of 550 or higher; or a passing score on a departmental pre-test.

Most students find the course demanding, but also rewarding. It tends to require 8-12hrs/wk outside of class, to be successful. Those who want a preparatory course in programming find it helpful to take ITEC 109 before taking ITEC 120.

Note:A students may not attempt to take ITEC 120 more than two times (a "W" counts as an attempt). After two attempts, credit cannot be transferred in from another university. Contact Jeff Pittges (jpittges@) if you want to petition to get credit based on mastery of the material.

Although the course currently teaches the above concepts by using Java, the content transcends a particular languages or environment. From high school algebra (a pre-req for applying to RU at all), a critical concept is a function: something which takes an input and returns a value. Learning to program reinforces the distinction between calling a function and defining a function. While this is easy to say, it sometimes takes a while before this concept is ingrained.


More concretely, here is a partial list of topics; see also a more complete list.

Course pages, past and present

Can't find (much) info for a particular semester? This might be due to that particular section using course management software such as Desire2Learn or Blackboard (WebCT). (Such pages are available only to enrolled students during that particular semester.)

1 This is similar to Extreme Programming's “test-driven design”. Although one purpose of stressing testing early in CS1 could be to ingrain this methodology early, the actual reason it is used here is more practical: writing two to three test cases helps clarify both (a) the problem statement (what the function is supposed to compute), and (b) what steps are involved in computing the answer. Both of these result in students completing their assignments more easily.      

©2017, Ian Barland, Radford University
Last modified 2018.Jan.12 (Fri)
Please mail any suggestions
(incl. typos, broken links)
Rendered by Racket.