Computer Lab

Methods

Be Prepared: It is assumed that you
will read the assigned chapters before each class. The topics covered in this
course are difficult to master without substantial amount of effort. You will
need a great deal of time for experimenting and practicing code. Read the manual
for the Java software you are using. Your computer and compiler are good
teachers. Be prepared to try out things by yourself. Use the debugger, dig into
texts, try on-line help.

Cheating:
All quizzes, tests and programs are to be done individually.
Academic Dishonesty is not tolerated and will result in a zero on the assignment and
reporting of the incident to the College's Internal Affairs Committee. The
following are considered Academic Dishonesty:

Copying the
work of current or past ISMG 6140 students

Working
collaboratively on individual assignments except to provide debugging
assistance

Providing
assignment solutions (total or partial) to any other ISMG 6140 student!

Copying the
code or design of a past or current ISMG 6140 project

Copying the
code or design of internet sites or other sources without crediting the source

Cheating on an exam will result in an automatic F
for the course! The penalty for
subsequent academic dishonesty incidents can involve removal from the IS program
and/or from CU Denver.

Late work: Projects and
Assignments will not be accepted late. There will be group discussions regarding
the assignments immediately after they are due and thus it is imperative that
work be completedON TIME.Assignments received after the
due date will receive a 0 - no exceptions.

Email: My courses can be difficult and often students get to places in their
assignments where they do not know what to do next. I encourage you to ask
questions in class, office hours and via email. Always include the course
number (ISMG 6140) and your name in the email.

When asking a question via email please do the following:

Clearly give me a specific question.

If you have an error message(s) you do not understand put a copy of the
error message(s) in the email and attach your code so I can see where it occurs.

If your code compiles but runs strangely describe the behavior and attach
your code (e.g. I input the id and then nothing happens)

If you do not understand what is expected - explain what parts of the
assignment you do not understand.

If you are having difficulty deciding how to approach a problem - describe
to me what you think you should be doing and I will let you know what you have
right & where you might be wrong.

DO NOT email me and say here is what I have so far what do I do next...

Typically, I allow students to turn in assignments via
email. However, it is the student's responsibility to ensure that I
actually received the assignment. I recommend that students CC themselves
when emailing an assignment to me so they know the email was actually sent.
In addition, if you do not receive a reply indicating that I received the
assignment within 24 hours the student will need to resend the assignment and/or
bring it in by hand. An assignment that is received late due to an email
problem is still considered late. Students need to get a reliable email
provider if they intend on submitting assignments via email.

Getting behind: This is a
difficult course and requires a significant amount of work. DO NOT
GET BEHIND. New concepts build on earlier concepts and if you skip even
one week you can find yourself so far behind that you can not catch up with the
rest of the class. Students who miss class or skip assignments usually
wind up failing the course.

Course Assignments and Requirements

Learning to decompose a problem and develop a software solution involves
doing. Students cannot just listen to a lecture and know how to develop code. To
improve students’ ability to program I have numerous short assignments and
longer projects that give students practice developing and debugging business
programs. This is graded and returned as soon as possible so students know how
they are doing in my class. This section outlines in great detail and fully explains the course
assignments and requirements. I urge you to read it carefully and more
than once!

Class Participation: To increase the effectiveness of my homework assignments and to allow students
to learn from one another I have students discuss their approach to the
project in small groups after the project has been completed. This requires
students think about the program individually to a point where they understand
how the problem can be solved but also allows students to discover alternative
ways of approaching problems that they might use in future assignments or in
industry. I feel this maximizes student understanding of the material and
provides for a more stimulating classroom environment.

Homework: You will
complete several short homework assignments during the
course of the semester. The goal for homework is for
you to become comfortable with different programming concepts and become
familiar with how the Java development environment you are using works.
These assignments will be graded but the emphasis will be placed on effort as
opposed to perfection. It is important for students to try and hand in
every homework assignment - even if it does not work 100% correctly!

Programming Projects:
Programming Projects are larger scale programs designed to resemble real
programs that might be used in a business setting. Programming projects
generally require a substantial amount of effort on the part of students (15 -
40 hours per project depending on the student) so please allow enough time to
complete the project before the due date. All projects build on prior
project so skipping a project will make it difficult to complete subsequent
projects.

Programming Projects will be evaluated based on three major criteria:
Compliance with project requirements, Quality of the source code and Program
performance. A grading sheet, distributed with each project’s
specifications, will specify the distribution of points for the project.

Compliance: Projects will be evaluated to determine whether the
code meets all of the requirements set forth in the assignment. That
is - did the student write code to do all of the tasks the program needs to
perform?

Quality: Program quality consists of several factors including:

Program Flow: The program should be laid out logically such that
the order that the activities that are performed make sense in the context
of the problem.

Variable Names: Use variable names with a clear meaning in the context of the program whenever possible.

Format: Include adequate white-space in the program to improve readability. Insert blank lines to group sections of code. Use indentation to improve readability of control flow. Avoid confusing use of opening/closing braces.

Internal Comments: Main program comments should describe overall purpose of the program. Function comments should describe their purpose and other pertinent information, if any. Compound statements (control flow) should be commented. Finally, see that commenting is not overdone and redundant.

Modularity in Design: Avoid accomplishing too many tasks in one function; use a separate module. Also, avoid too many lines of code in a single module; create more modules. Design should facilitate individual module testing. Use automatic variables instead of external variables whenever possible.

Solution Quality: The solution chosen should be clear and
concise. Is the solution chosen excellent, better than average,
average or worse than other ways of approaching the given problem?

Performance: A good program needs to compile, run and produce the
correct output. A program that does not compile will receive a zero for
program performance. The program will be tested with a variety of
inputs. To maximize your score your program should not crash for any
expected input and it should produce the correct answer. The program
should also facilitate repeated use when used interactively and should allow easy exit. Requests for interactive input from the user should be clear. Incorrect user inputs should be captured and explained. Outputs should be well-formatted
(e.g. in a table with headings, labeled, or formatted as currency if
appropriate).

Projects are typically turned in in class on a floppy disk or submitted via
email. When submitting a project, it is the students responsibility to
submit all related classes necessary for the project (or else I can not test
your code!). If you are using a class provided by the instructor - and have
not changed it in any way, you are not required to include that file with your
project submission. Failure to include all the required .java
files will result in some loss of credit. Please see my email policies
if you are submitting a project via email.

If you are not satisfied with your grade, you may request a re-evaluation.
Do not change the relevant files on your disk. Re-evaluation may result in a
higher or a lower score for the Programming Project.

Exams: There will be one
mid-term exam and one Final exam. The exam will be given in class only on the
mentioned dates. Question Formats include: fill-in-the-blank, short
essay questions, writing of algorithms,
filling key steps in incomplete algorithms, writing Java programs or functions.
The exams will be open book and open note, unless otherwise specified.
However, electronic devices of any kind (e.g. cell phones, calculators, laptop
computers, dictionaries etc.) must be turned off and properly stored during
the examination period.

Failure to attend your exam will result in a zero for the examination.
In cases of extremely extenuating circumstances (i.e. documented circumstances
clearly beyond the student's control) a make-up exam may be given.
However, the student must request the make-up exam in writing within 24 hours
of the original exam date.

If you know in advance that you will not be able to attend an exam because of
extenuating circumstances beyond your control you may request a make-up exam.
Requests for make-up exams must be made in writing at least 1 full week prior
to the class section in which the exam is scheduled to be given. If the
request for a make-up exam is approved, a make-up exam will then be scheduled.

24 hours prior to a scheduled make-up exam, it is the student's responsibility
to confirm via email that they still plan on attending the make-up exam at the
given date and time. If the student no longer needs to take a make-up
exam - the student must cancel the make-up exam via email 24 hours in advance
of the scheduled make-up exam time. Failure to attend a make-up exam
will result in a 0 for the exam.

Note: although you will not be permitted to keep any of the examinations, I
will bring the examinations to class period following the exams to allow
students to review their answers. I will also make exams available for
students to review during my office hours.

Grading

Final Grades for this class will be based on your performance in class work,
discussions & homework
problems, three individual projects, a midterm and a final exam. Weightings
will be applied as follows:

A: Class Participation & Homework

30%

B: Programming Projects

30%

C: Midterm Exam

20%

D: Final Exam

20%

Letter Grades are typically assigned as follows:

A

(4.0)

93% - 100%

superior/excellent

A-

(3.7)

90% - 92.999%

B+

(3.3)

87% - 89.999%

B

(3.0)

83% - 86.999%

good/better than average

B-

(2.7)

80% - 82.999%

C+

(2.3)

77% - 79.999%

C

(2.0)

73% - 76.999%

competent/average

C-

(1.7)

70% - 72.999%

D+

(1.3)

67% - 69.999%

D

(1.0)

63% - 66.999%

minimum passing

D-

(0.7)

60% - 62.999%

F

(0.0)

0% - 59.999%

failing

Note: Grading policies of the CU Denver Business School state that the
average GPA across all students in a MS elective class should generally fall within the
following range: 3.3 to 3.6 (B+) on a 4.0 scale. Therefore, if
necessary, the ranges above will be modified so the average GPA across all
students in the class falls with in the recommended range.