Welcome to Information Systems 403! This is the home location of the course syllabus, assignments, and information.
== Class Learning Objectives ==
After completing this course, you should be able to:
* ”’Create clear and elegant programs to solve IS problems.”’ As the primary programming class in the Information Systems program, you’ll practice your programming skills this semester. We’ll focus on efficient, clear, and elegant solutions to the problems.
* ”’Read current events and think critically about them as an IS professional.”’ You’ll be given a weekly quiz on current events, and we’ll routinely discuss them in class.
* ”’Become proficient in using Internet resources to solve development problems.”’ One of the most important skills in Information Systems is knowing how to find solutions in Internet groups, discussion boards, blogs, tutorials, and other online documentation sources. We’ll practice this skill throughout the semester.
* ”’Learn object-oriented programming principles, data structures, and libraries.”’ The subject matter of the course is object-oriented programming in the Java language. Java is an excellent teaching/learning language because it’s compiler is picky and its language constructs are common in many other languages.
* ”’Understand how to read and effectively use technical documentation.”’ We’ll explore the Javadoc documentation for the Java libraries.
In the context of these objectives, we’ll discuss topics such as the following:
* Three parts of an object (data, methods, identity),
* Inheritance, polymorphism, encapsulation
* Different types of methods: accessors, constructors, etc…
* Object construction and destruction, heap, stack, memory management, garbage collection
* Inheritance vs. composition
* I/O libraries in Java
* Data structures, specifically lists and maps/dictionaries. Different types of these two base data structures.
* Debugging, compile vs. runtime errors
* Reading and writing documentation (Javadoc)
* Event-based programming (GUI)
* try/catch
== Assignments ==
This class is made up primarily of programming projects. I firmly believe that the only way to learn programming is to practice, practice, practice (oh, and practice). So rather than filling up the semester with topic lectures, I’ll be focusing class time on assignments. We’ll spend some time discussing concepts in each assignment, some time in group work, and some time in help sessions.
See the schedule below for links to individual assignments. Assignments are due at 8:00am on the day indicated in my dropbox at http://warp.byu.edu/cgi-bin/dropbox.py. Please do not submit assignments via Blackboard.
Assignments that you score at least a 1/5 on on can be turned in a second time for additional credit. You can turn it in (the second time) anytime up to the last day of official classes. If you turn in an assignment again, I’ll regrade it from scratch and average your two scores. Note that you must turn the first version in on time and receive at least a 1/5 on it on that version. Then you have until the last day of class to raise your score. When you turn it in, prepare a new readme called README_RESUBMIT.TXT that explains how to fixed your code and what score you should now get.
The projects for the course are as follows:
* [[ISys 403: Bank Objects]]
* [[ISys 403: Today's News]]
* [[ISys 403: Bank GUI]]
* [[ISys 403: Benford's Law]]
* [[ISys 403: Manager's Miner]]
* [[ISys 403: Chatter]]
All projects will be graded according to the [[ISys 403: Grading Policy]]. This document outlines a 0-5 scale that includes an extra feature on each project for full credit.
== Dropbox ==
Please place your assignments in my dropbox at:
http://warp.byu.edu/cgi-bin/dropbox.py
== Current Events Quizzes ==
You are required to take a current events quiz each week. This will count for 5 percent of your grade.
== Schedule ==
See the shared Google spreadsheet (URL given in class) for the combined core schedule.
== Course Evaluation ==
The grade allocation in the course is as follows:
The assignments, grade breakdown, and schedule may change during the semester depending upon class needs.
== Instructor ==
<br> Dr. Conan C. Albrecht
<br> http://warp.byu.edu/
<br> conan@warp.byu.edu
<br> 780 TNRB
<br> 805-1615
<br> Office Hours: Anytime I’m not teaching on class days (MW)
== Island ==
One of the most important things you’ll do in the class is sign up for Island. I will send important announcements, assignment hints, and schedule changes out to you in the ISys Core group on Island.
Please be wise in what you post to the site. Legitimate questions and legitimate answers are fully legal. Please don’t post verbatim assignment answers or quiz or test information to the list. I trust each of you knows where the fine line is.
Sign up for the ISys Core group at http://island.byu.edu/ on your account settings page.
== Computers ==
I expect every student to have exclusive access to a laptop computer. The last class period each week (i.e. every other class period) will be a lab day. We will meet in the regular classroom, and Dr. Albrecht and the TAs will walk around and help students and groups with assignments. Lab time has proved invaluable in past semesters. It is an acceptance requirement for the ISys program that you have a laptop computer.
On a personal note, I know a computer is a major purchase for most of you. For this reason I haven’t required you to buy a $100 book for the class (or for 403). Please consider the amount of money you have spent on school throughout the years and make the investment in yourself.
I don’t care whether you buy a Windows, Linux, BSD, or Mac-based machine. In fact, I encourage each of you to try an operating system you haven’t used before, such as Linux or Mac. Linux can be installed side by side with Windows. When purchasing a computer, you may want to investigate leasing, renting, refurbished models, and other discount options. During the year, I hope your laptop becomes your ’sidekick’ that you know well and depend upon. It should be as important to you and as personal as a baseball glove is to a professional MLB player or a favorite blanket is to a child.
== Frequently Asked Questions ==
;I lost my homework. My computer crashed. My disk was corrupted. My dog ate it!
:Keep backups. I am generally unforgiving to these circumstances because we are Information Systems professionals. Clients will not accept these excuses. Keep regular backups. Print your source code out if you’re really worried about losing it. Do it early enough that crashes can be redone. Did I mention to keep regular backups (i.e. multiple copies)? Backups are also a good idea. One thing I’ve found very useful in the past is to keep good, multiple-level backups of my work. Another useful thing is to keep good backups. Finally, don’t forget to back up your work. And keep your dog away from your computer in the future.
;I couldn’t turn the assignment in (or take the test or quiz) because I was out of town for business, an interview, athletics, or any other reason.
:Please make arrangements before the assignment is due. Do them early enough that you can get them turned in before you leave. I will not accept late assignments unless you have a really, really, really good reason. Otherwise, please don’t ask.
;Is there a TA that can help me?
:Yes. Please email one to meet with you individually or set up a help session.
;Can I work with other students on assignments?
:Yes, please do! You have many students around you who know how to do the project you’re working on. Please ask their help. You are even welcome to partner with another student and complete projects in parallel. However, you need to do your own work. You need to have your own copy. It is cheating to simply copy code directly from another student. If you work together, please sit at computers next to each other and type everything in yourselves. Your code should not be exactly the same when you turn it in. There will be differences in spacing, tabbing, variable names, etc. On tests and quizzes, please do not work together.
;Can I use something besides NetBeans?
:Please use NetBeans for the Core. It is too difficult to have students using different platforms for development. We need to maintain consistency within the class. After the core, please experiment with the different environments and pick the one you like best.
; I use a Mac. I use Unix. I use VMS. I use Linux. Will I have problems in the course?
: Good for you! You can likely run NetBeans on it. I encourage diversity and openness in systems. Get to know all of these operating systems and use them regularly.
== Additional Policies ==
I support and enforce the Marriott School general classroom policies found at http://marriottschool.byu.edu/classroompolicies/.
| Welcome to Information Systems 403! This is the home location of the course syllabus, assignments, and information.
== Class Learning Objectives ==
After completing this course, you should be able to:
* ”’Create clear and elegant programs to solve IS problems.”’ As the primary programming class in the Information Systems program, you’ll practice your programming skills this semester. We’ll focus on efficient, clear, and elegant solutions to the problems.
Welcome to Information Systems 403! This is the home location of the course syllabus, assignments, and information.
Class Learning Objectives
After completing this course, you should be able to:
- Create clear and elegant programs to solve IS problems. As the primary programming class in the Information Systems program, you’ll practice your programming skills this semester. We’ll focus on efficient, clear, and elegant solutions to the problems.
- Read current events and think critically about them as an IS professional. You’ll be given a weekly quiz on current events, and we’ll routinely discuss them in class.
- Become proficient in using Internet resources to solve development problems. One of the most important skills in Information Systems is knowing how to find solutions in Internet groups, discussion boards, blogs, tutorials, and other online documentation sources. We’ll practice this skill throughout the semester.
- Learn object-oriented programming principles, data structures, and libraries. The subject matter of the course is object-oriented programming in the Java language. Java is an excellent teaching/learning language because it’s compiler is picky and its language constructs are common in many other languages.
- Understand how to read and effectively use technical documentation. We’ll explore the Javadoc documentation for the Java libraries.
In the context of these objectives, we’ll discuss topics such as the following:
- Three parts of an object (data, methods, identity)
- Inheritance, polymorphism, encapsulation
- Different types of methods: accessors, constructors, etc…
- Object construction and destruction, heap, stack, memory management, garbage collection
- Inheritance vs. composition
- I/O libraries in Java
- Data structures, specifically lists and maps/dictionaries. Different types of these two base data structures.
- Debugging, compile vs. runtime errors
- Reading and writing documentation (Javadoc)
- Event-based programming (GUI)
- try/catch
Projects
This class is made up primarily of programming projects. I firmly believe that the only way to learn programming is to practice, practice, practice (oh, and practice). So rather than filling up the semester with topic lectures, I’ll be focusing class time on assignments. We’ll spend some time discussing concepts in each assignment, some time in group work, and some time in help sessions.
See the schedule below for links to individual assignments. Assignments are due at 8:00am on the day indicated in my dropbox at http://warp.byu.edu/cgi-bin/dropbox.py. Please do not submit assignments via Blackboard.
Assignments that you score at least a 1/5 on on can be turned in a second time for additional credit. You can turn it in (the second time) anytime up to the last day of official classes. If you turn in an assignment again, I’ll regrade it from scratch and average your two scores. Note that you must turn the first version in on time and receive at least a 1/5 on it on that version. Then you have until the last day of class to raise your score. When you turn it in, prepare a new readme called README_RESUBMIT.TXT that explains how to fixed your code and what score you should now get.
The projects for the course are as follows:
All projects will be graded according to the Grading Policy. This document outlines a 0-5 scale that includes an extra feature on each project for full credit.
Dropbox
Please place your assignments in my dropbox at:
http://warp.byu.edu/cgi-bin/dropbox.py
Current Events Quizzes
You are required to take a current events quiz each week. This will count for 5 percent of your grade.
Schedule
See the shared Google spreadsheet for the combined core schedule: http://www.google.com/calendar/ical/qbcqhsvvovtuhasb37kf50cpfc%40group.calendar.google.com/public/basic.ics
The TAs will be in the lab according to the following schedule:

Course Evaluation
The grade allocation in the course is as follows:
| Assignment 1 |
10% |
| Assignment 2 |
10% |
| Assignment 3 |
10% |
| Assignment 4 |
12% |
| Assignment 5 |
13% |
| Assignment 6 |
15% |
| Current Events Quizzes |
5% |
| Final Exam |
25% |
The following table shows the grade breakdown:
| Percentage |
Grade |
| 93 |
A |
| 90 |
A- |
| 87 |
B+ |
| 83 |
B |
| 80 |
B- |
| 77 |
C+ |
| 73 |
C |
| 70 |
C- |
| 67 |
D+ |
| 63 |
D |
| 60 |
D- |
The assignments, grade breakdown, and schedule may change during the semester depending upon class needs.
Instructor
Dr. Conan C. Albrecht
http://warp.byu.edu/
conan@warp.byu.edu
780 TNRB
805-1615
Office Hours: Anytime I’m not teaching on class days (MW)
Island
One of the most important things you’ll do in the class is sign up for Island. I will send important announcements, assignment hints, and schedule changes out to you in the ISys Core group on Island.
Please be wise in what you post to the site. Legitimate questions and legitimate answers are fully legal. Please don’t post verbatim assignment answers or quiz or test information to the list. I trust each of you knows where the fine line is.
Sign up for the ISys Core group at http://island.byu.edu/ on your account settings page.
Computers
I expect every student to have exclusive access to a laptop computer. The last class period each week (i.e. every other class period) will be a lab day. We will meet in the regular classroom, and Dr. Albrecht and the TAs will walk around and help students and groups with assignments. Lab time has proved invaluable in past semesters. It is an acceptance requirement for the ISys program that you have a laptop computer.
On a personal note, I know a computer is a major purchase for most of you. For this reason I haven’t required you to buy a $100 book for the class (or for 403). Please consider the amount of money you have spent on school throughout the years and make the investment in yourself.
I don’t care whether you buy a Windows, Linux, BSD, or Mac-based machine. In fact, I encourage each of you to try an operating system you haven’t used before, such as Linux or Mac. Linux can be installed side by side with Windows. When purchasing a computer, you may want to investigate leasing, renting, refurbished models, and other discount options. During the year, I hope your laptop becomes your ’sidekick’ that you know well and depend upon. It should be as important to you and as personal as a baseball glove is to a professional MLB player or a favorite blanket is to a child.
Frequently Asked Questions
I lost my homework. My computer crashed. My disk was corrupted. My dog ate it!
Keep backups. I am generally unforgiving to these circumstances because we are Information Systems professionals. Clients will not accept these excuses. Keep regular backups. Print your source code out if you’re really worried about losing it. Do it early enough that crashes can be redone. Did I mention to keep regular backups (i.e. multiple copies)? Backups are also a good idea. One thing I’ve found very useful in the past is to keep good, multiple-level backups of my work. Another useful thing is to keep good backups. Finally, don’t forget to back up your work. And keep your dog away from your computer in the future.
I couldn’t turn the assignment in (or take the test or quiz) because I was out of town for business, an interview, athletics, or any other reason.
Please make arrangements before the assignment is due. Do them early enough that you can get them turned in before you leave. I will not accept late assignments unless you have a really, really, really good reason. Otherwise, please don’t ask.
Is there a TA that can help me?
Yes. Please email one to meet with you individually or set up a help session.
Can I work with other students on assignments?
Yes, please do! You have many students around you who know how to do the project you’re working on. Please ask their help. You are even welcome to partner with another student and complete projects in parallel. However, you need to do your own work. You need to have your own copy. It is cheating to simply copy code directly from another student. If you work together, please sit at computers next to each other and type everything in yourselves. Your code should not be exactly the same when you turn it in. There will be differences in spacing, tabbing, variable names, etc. On tests and quizzes, please do not work together.
Can I use something besides NetBeans?
Please use NetBeans for the Core. It is too difficult to have students using different platforms for development. We need to maintain consistency within the class. After the core, please experiment with the different environments and pick the one you like best.
I use a Mac. I use Unix. I use VMS. I use Linux. Will I have problems in the course?
Good for you! You can likely run NetBeans on it. I encourage diversity and openness in systems. Get to know all of these operating systems and use them regularly.
Additional Policies
I support and enforce the Marriott School general classroom policies found at http://marriottschool.byu.edu/classroompolicies/.
Comments