Week of January 24, 2016
Topics for this week: Expressions
||Read chapter 4 in your course packet.
||Review the slides on Expressions
||Review the sample program
||Review the video
||Review the video
lab #6, due by 11:59pm on Tuesday.
lab #7, due by 11:59pm on Thursday.
||Complete project #2
and submit it to Canvas before 11:59pm on Sunday. Programs will lose 20% of the possible points
for each day that they are late. If you turn this program in prior to 11:59pm on Saturday, you will
receive a 5 point bonus, if it meets all of the specifications and gives the correct answers.
||Take the first exam. It will be in the testing center 1/29 - 2/3
It is expected that you will meet the objectives outlined here by the end of the week.
You might want to test yourself to see how well you fare. You can be guaranteed that you
will be tested on these concepts on your first midterm. By the end of this unit, you should
be able to:
- Correctly use the basic arithmetic operators in a C# program.
- Describe and correctly use C#'s precedence rules.
- Describe integer and floating point division and correctly write expressions using each.
- Show how automatic data conversions are performed in mixed expressions.
- Tell what a type cast is and correctly use a static_cast in a C# program.
- Correctly use the increment and decrement operators in a C# program.
- Explain the difference between post- and pre-increment or decrement.
- Correctly use the String class in a C# program.
- Correctly use the String processing functions of the string class.
- Follow the steps for problem solving outlined in lab #2 to solve computing problems.
- Create UML activity diagrams to show the steps involved in a solving a problem.
All reading should be done before you come to class. Your ability to understand
the material discussed in class will be greatly enhanced when you come to class
- Chapter 4 in your course packet explains how to write expressions in C#. It also introduces
some of the built-in math functions, which we will talk about in a few weeks. This
chapter provides some helpful programming hints and points out some common
errors students make when first writing expressions.
- The slides on Expressions introduces the arithmetic operators and explains how to
write arithmetic expressions. One of the most difficult concepts presented in the slides
is the handling of mixed data types. Be sure that you understand this important topic.
Don't pass over this material lighty. There are some subtle concepts here that must be
mastered. You will be tested over and over again on problems that involve mixed data types,
precedence and integer division.
Be sure that you understand the following important ideas presented in this unit.
- C# provides all of the common arithmetic operations, but in some cases the symbols
used are different from what you might be used to. In particular, the multiplication
symbol is an asterisk (*) and the division symbol is a slash (/). In addition, C#
provides a number of "shortcut" symbols to do often used operations. For example,
incrementing a value is done so often in C# that the developers of the language
created a new symbol, ++, to signify the increment operation.
- When an expression in C# is evaluated, evaluation follows a fixed set of
precedence rules. These rules define which operations get done first. For example,
in the expression
num = factor * size - width;
the multiplication operation will be done before the subtraction. If you are not
sure about the precedence rules, or if you want to change the order of operation, you
can use parentheses, just like you would in algebra.
- One of the most important concepts in this module is the handling of mixed data
types in an expression. For example, what happens in the expression
area = length * width;
if length is an integer and width is a double? The computer hardware does not know
how to multiply an integer by a double. In order to do this processing, the computer must
make both width and length the same kind of data. There are precise rules
that are used to make these conversions. It is important that you understand these rules.
- Occasionally, a programmer will need to make an explicit change of data type. This is
done with a cast.
This week you should complete labs 6 and 7. These labs will help you to understand how expressions
are evaluated, and go though the important topic of developing an algorithm. Be sure that you spend
sufficient time studying this these ideas, and practice them during the week.
Be sure that you know how to write pseudo-code.
This week you should complete your second programming project. In this project, you will
create a program that uses expressions. This will give you practice using
the concepts that have been discussed this week.
Be sure that you include the declaration that you did not copy any code in all
of your source code files. If this statement does not appear in your program, it
will not be graded. All program are expected to contain the pseudo-code that you
created when designing the solution to the problem.
The first midterm starts this week in the classroom testing center.
There is a study guide for this exam at http://debryro.uvsc.edu/1400/studyOne.html.
Be sure to give yourself plenty of time to finish the exam. The exam is open book and has no time limit.
You can find information on the classroom testing center at
If you are an internet student who cannot come to the testing center to take your exams, you must make arrangements
through the Distance Education office for an exam proctor. The Distance Education help page is at