This is a hybrid class and we will meet for one class per week and you will need to work through the course material online each week and submit weekly assignments. The programming language used in this class will be the Java language which is a popular application development language. It has strict data types and is usually used for creating OS independent programs. Your weekly assignments will be analyzing a described problem and create a solution algorithm to solve the problem sequentially using a flowcharts. The design document will be due the week after the program is assigned and code must be completed two weeks after the program is assigned.
We will utilize the Java language for this class. Java is a versatile general-purpose programming language that is used to create cross-platform applications. Regardless of the platform you want to use for deployment desktop, mobile, or web, Java can meet your needs. Java is an object oriented language with strict data typing. We will use the Java Development Kit (JDK) to compile our source code to byte-code which runs on any operating system with a Java Virtual Machine (JVM).
You can utilize Scratch to do the flowchart algorithm and you may implement the program solution using scratch. However, the final program must be coded using Java.
I recommend the Visual Studio Code editor for creating writing the code. It is an open-source editor created by MicroSoft and supports many different computer languages with many plugins available.
If you have a question you can ask in class or email me at:
I will post handouts and hyperlinks to videos for the class on this web page which is accessible at the hosting URL
islandman.org/um/cmis141/.
So lets get started…
This is a fast paced course in an 8 week session.
I recommend you allocate approximately 18 hours per week to this course:
- Lecture = 3 hours per week
- Reading study, video watching, and homework = 15 hours per week
Before the first class, I recommend that you download and print the latest updated version of the of the Syllabus and other Week 1 materials described below which are posted as PDF files. Windows users can use Adobe Acrobat Reader or PDFXChangeViewer
I recommend that you get started with Week 1 content today, by clicking Week 1 in the navigation bar above or scrolling down.
Robert Laurie
Week 1: Programming Languages and Java Setup
The following weekly content is provided to describe what has been covered in CMIS141 in the past when it was taught in 2012 at Iwakuni. The 2020 course will have different and be a hybrid class meeting for 7 weeks. I am creating this web page so students can determine likely content and determine their interest in CMIS141.
Week 1 we will be covering introductory content about Programming Languages in general. We will learn how to install the Java language on a computer for development and how to compile and run Java language programs. Please examine the Week 1 slides and course content before our first class. Reading the material before it is covered in class will make the class seem a lot easier and you can ask better questions.
You need to bring a USB Drive to all classes to transfer computer files that you create in class and homework. If you have a notebook computer you should also bring that to class.
I will utilize PowerPoint slides for lecture and discussion. They have the advantage that code can be tested and validated before class. Please print Slide Set 1 which is a PDF file with four slides per page in color.
- Slide Set 1: Computer Languages and Java Setup
- Homework #1 - Due week 2
- READ Number Systems and Codes Handout
Cyber-Cafe [Optional]
Post your non-course or course related comments or ramblings here. Maybe no one will read them except for me. Computers can be frustrating until you realize they are dumb binary machines and with good software we can fix that. That is what this course is about; How to write good procedural command line software in a programming language.
Programming can be fun and frustrating at times too, but a good lucrative career. The following video is what my first programming job was like. Computers are much better now.
YouTube Video Links:
Watch the following videos to enhance your learning of data representations:
- WATCH: Mechanical Binary Counter Video 2m
- WATCH: Converting Decimal, Binary and Hexadecimal Video 17m
- WATCH: ASCII Video 8m
- WATCH: Decode unicode: TEDxVienna Video 18m
- How To Do Binary Addition 4m
- Two’s Complement, and Binary Signed Magnitude 4m
- Binary Subtraction with Two’s Complement 4m
- Multiplying in Binary 5m
eBook readings that maybe helpful for Week 1
Please bring a notebook computer and USB (Thumb) Drive to class to transfer computer files that you create.
Week 2: Developing a Java Program
This week we will explore the details of the Java language.
We begin with Slide Set 2 which describes: operators, data types, and variables. Data types will be a new concept for some of you and they will allow better utilization of memory. Java has strict data typing and this week we will cover the primitive data types in detail.
After the Java essentials we will then progress to Java input and output using console I/O streams. Another alternative is to use use the Swing - Graphical User Interface components Swing JOptionPane. Both Input Output methods are described in Slide Set 3.
Please print Slide Sets 2 and 3, before coming to class this week. The slide sets are posted as PDF documents with four slides per page in color.
Please bring a notebook computer and USB (Thumb) Drive to class to transfer computer files that you create.
Week 3: Java Selection Structures
This week we will explore the Program Development Cycle, Program Flow of Control, Java Selection Structures, and operators typically utilized for selection structures to include relational and logical.
Please print Project 1 and Slide Set 4, before coming to class this week. The slide sets are posted as PDF documents with four slides per page in color. If you would like to view the slide show again then click the show item below.
- Slide Set 4: Program Design and Java Selection Structure
- Project #1 - IRS Federal Tax Estimator - Due Week 4
Please bring a notebook computer and USB (Thumb) Drive to class to transfer computer files that you create.
Week 4: Java Repetition Structures
The fourth week will focus on Repetition or Loop Programming Structure. Repetition structures allow computer programs to process enormous amounts of structured data with relatively little program code. Homework 2 is due week 4 and will require the implementation of a repetition structure with Java.
Please print Slide Set 5 and Homework 2, before coming to class this week.
It maybe time for you to consider moving to an Integrated Development Environment (IDE) for creating Java programs. IDEs can be complicated to learn, but they provide many features including debugging tools. There are several free ones available for download, and Eclipse is the most common and has many plugins for developing code in many computer languages. Go to the Eclipse IDE link below and download the version of Eclipse for Java Developers.
-Eclipse IDE for Java Developers download
Please bring a notebook computer and USB (Thumb) Drive to class to transfer computer files that you create.
Week 5: Java Methods and Object Oriented Design
This week we will focus on Java Methods and their place in Object Oriented Design and Programming. The Object Oriented Program concepts of classes and objects will be discussed.
Java Methods allow program processes to be encapsulated into functional modules. This is very similar and is an application of mathematical function concepts. Modularity enables the Top-Down design process, which is a “Divide and Conquer” approach to developing large programs by breaking it into smaller functional modules that can be designed, coded, and debugged separately. The Implementation Phase of program development usually utilizes a combination of Bottom-Up and Top-Down approaches for developing Java Methods and the calling of these methods from the main method.
Please print Slide Set 6, before coming to class this week. Project 2 is due next week at the beginning of class.
Please bring a notebook computer and USB (Thumb) Drive to class to transfer computer files that you create.
Week 6: Java Arrays
This week we will focus on Java Arrays to include both one and two dimensional arrays.
Please print the items listed below.
- Slide Set 7: Java Arrays
- Homework #3 - Sorting Scores - Due Week 7
- Project #3 - Final Course Project - Due Week 8
Please bring a notebook computer and USB (Thumb) Drive to class to transfer computer files that you create.
Week 7: Java Classes and Objects
This week we will focus on Java Classes and Objects.
Please print the items listed below.
- Slide Set 8: Java Classes and Objects
- Homework #4 - Spherical Volume - Due Week 8
- Project #3 - Final Course Project - Due Week 8
Please bring a notebook computer and USB (Thumb) Drive to class to transfer computer files that you create.
Week 8: Java Strings and File Read/Write
This week the focus will be on Java Strings considered as a class and reading, writing, and appending to text data files.
Please print the items listed below.
Please bring a notebook computer and USB (Thumb) Drive to class to transfer computer files that you create. This is our last week of class and all content must be completed this week. Please upload any content you want graded no later then Thursday this week.
The next course in the sequence is CMIS242. The focus of the class is object oriented programming with GUI development.