SE1011
Software Development I

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 ArrayLists. (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 ArrayLists

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