This is an old version of this course, from Fall 2013. A newer version is avaliable.
Emphasis is placed on translating written
problem descriptions into robust software solutions. Topics covered include
Java program structure, algorithmic problem solving and modularization,
I/O statements, control constructs, looping techniques, class libraries,
user defined classes and methods, arrays, and
ArrayList
s.
(prereq: none) (3-2-4)
Basics
- Instructor
- Josiah Yoder
- lıɐɯə
- XXXXXXXXXX
- Office
- L344 (Library, 3rd floor)
- Office Hours
- I will be in my office during the office hours posted on the website, with a few exceptions that I will post at least a week in advance. If these do not work for you, please email me to arrange an appointment. If the posted office hours do not work for most people in my classes, we can adjust them. However, you can stop by any time I am in my office.
- Phone
- XXXXXXXXXX (Google Voice). My Google voice number rings my office, my cell-phone, and my computer, all at the same time. You are welcome to call me when I'm at home except the night before an assignment is due. If I don't answer, I'm probably asleep.
- Textbook
- Introduction to Programming with Java: A Problem Solving Approach, 2nd Ed., by Dean and Dean, McGraw-Hill, 2014, ISBN: 978-0-07-337606-6
Outcomes
On successful completion of this course, the student will:
- Design and document an algorithmic solution for a given problem statement
- Use if/if-else/switch statements to control program flow in algorithmic solutions
- Select the appropriate selection control statement for a given task
- Create and interpret complex expressions that use relational and boolean operators
- Use while/do-while/for statements to control repetition in algorithmic solutions
- Select the appropriate repetition control statement for a given task
- Translate UML class diagrams into Java code
- Design and implement simple classes
- Design and implement class and object methods
- Use existing Java class libraries
- Design and implement simple Java programs
- Declare and use collections of primitive and object data using arrays
- Declare and use collections of object data using
ArrayList
s
My Schedule
This is the updated schedule. It is active through the end of Week 10.Time | Mon | Tue | Wed | Thu | Fri |
---|---|---|---|---|---|
8:00 | SE1011 CC53 |
SE1011 R102 |
SE1011 CC53 |
SE1011 CC53 |
|
9:00 | Office Hour |
Office Hour |
|||
10:00 | Office Hour |
Office Hour |
CS2910 S343 |
||
11:00 | CS2910 L307 |
CS2910 L307 |
Dept lunch | ||
12:00 | SE1011 Planning |
Mtg? | |||
1:00 | Dept Mtg | Office Hour |
|||
2:00 | |||||
3:00 | SE1011 CC48 |
SE1011 CC48 |
SE1011 S107 |
SE1011 CC48 |
|
4:00 |
* I would still like to join you for lunch individually or in groups to get to know you better, but I'm swamped (can't take on any new tasks) until the end of the quarter. Maybe next quarter.
Grading
Your default grade will be allocated according to this chart:
Lab projects | 20% |
Homework | 10% |
Quizzes | 10% |
Exam I | 20% |
Exam II | 20% |
Final Exam | 20% |
Total | 100% |
Homework
I will grade homework on one of two levels. My default level is to just put a letter grade on your entire assignment. This letter grade will probably be within about half a letter grade of what it "ought" to be. If you ask, I will grade your homework in detail.
After the first exam, you may choose to stop turning in homework, if you notify me in writing (e.g. email). I recommend you only take advantage of this offer if your exam grade is high. If you choose this option, your grade scale will be:
Lab projects | 20% |
Homework | 0% |
Quizzes | 10% |
Exam I | 20% |
Exam II | 25% |
Final Exam | 25% |
Total | 100% |
Labs
There is a 10% late fee for turning in lab reports late. Labs will receive no credit if turned in after the deadline for the following lab. The last lab will receive no credit after Friday of week 10 at 4:30pm for the last lab.
You will only receive credit for working functionality on the labs. In other words, there is no partial credit for non-functional code.
Please start early and ask me for help if you get stuck.
Exams
You cannot retake an exam to improve your grade. If you need to skip an exam, you should schedule a make-up exam before the missed exam. I reserve the right to decide whether to allow a make-up for an exam.
Attendance
If you choose to attend class, I expect you to participate fully with undivided attention. If you disrupt class for any reason, I reserve the right to ask you to leave. Examples of disruptive behavior include browsing Facebook or allowing your cellphone to ring.
There is no grade for attendance. But if you skip class, you will not learn as much and your exam and project scores will probably be lower.
You are responsible for assignments and announcements made in class. The schedule is subject to change.
If you choose to drop the course, you must notify the registrar. I will not drop the class for you. If you don't come to any of the exams, you will receive an F for the class.
Academic Honesty
Computer code is much like written text. Although it is OK to look at another student's code with them to help them find a bug, it is not OK to have a copy of another student's code at any time or in any form.
Academic dishonesty (real or apparent) will be reported to the appropriate institutional office to allow repeated instances to be considered.
Grade Scale
Letter grades will be assigned according to the official MSOE grading scale:
≥93% | ≥89% | ≥85% | ≥81% | ≥77% | ≥74% | ≥70% | <70% |
A | AB | B | BC | C | CD | D | F |
I reserve the right to award a higher grade than indicated by this scale if such a grade is appropriate in my opinion.
Last modified: Monday, 05-Aug-2013 16:08:01 CDT