Introduction to Programming Fall 07   - Tue, Fri 2-3:30 in Chae

Instructor: Leon Kaganovskiy
Office: HNS 110 or HNS 204 (Physics Computer Lab, 2nd floor)
Office Hours:

Mon: 11-12:30 and 4-6,   Tue :  4-6 (office/computer lab HNS 204),  Wed: 11-12:30 and 4-6,  Thu :  research day,  Fri   :  4:30-6:30 (office/computer lab HNS 204)

I am available at other times by appointment.   

email: lkaganovskiy@ncf.edu - best way to ask a question.    Also if you need me ASAP:  (941) 366-6134;  (941) 961-3896

 

 

Course Goals and Objectives: 

This course is an interdisciplinary introduction to Programming in Java.   It satisfies LAC curriculum requirements.   The course introduces students to the most important programming concepts such as algorithms, sequences, selections, loops, functions, methods, passing by reference vs. by value, numeric and string types, arrays, vectors, classes and Object-Oriented Programming.    Towards the end of the course we will briefly introduce scientific programming package Matlab.   This course serves as an informal prerequisite for many science classes which require programming.  

Minimal Prerequisites:

The course is at the introductory - freshmen level.  It should be accessible to any students who plan to major in Science.  There are no specific prerequisites for the course - only interest in programming.   The course does NOT assume any previous programming experience.

Grading Policy: The final grade will be based on tests and problems, as follows:

  1. There will be two exams (may be three) - 2 for Java and small test/project for Matlab.

1st exam – 1 week before Spring break, Final – exam week.     Exact dates and times will be announced in class.

  1. Homework assignments will count 50% of the course grade. Late homework will be accepted only by special permission of the instructor.

 Attendance Policy:

There are no specific attendance credit points, but you are responsible for attending all the classes and keeping abreast of all the material presented in class.

Special Need Students:

Students with the need for special accommodations must work with the Counseling and Wellness Center, which will establish the specific accommodations and communicate them to me.

Academic Dishonesty Policy:

Any suspected instance of plagiarism will be reported to the office of the Provost and handled in accordance with the College’s policy.

 

Books:

Introduction to Java Programming-Comprehensive Version, 6/E

 

Y Daniel Liang,

ISBN-10:      0132221586
ISBN-13: 9780132221580
Publisher: Prentice Hall
Copyright: 2007                          
Format: PAPER BOUND BOOK; 1328 pages
Status:
7/12/2006 AS | Priority: AA
Net Price: $81.75
 

 

Recommended Software:    Java Netbeans (free)   http://java.sun.com/j2se/1.5.0/download-netbeans.html

Title:

Introduction to Matlab 7 for Engineers

ISBN:

0072548185

Publisher:

McGraw-Hill Professional

Author(s):

William J Palm

Format:

Hardcover, 682 pages

Publication Date:

Jul 23, 2004

Software:    Matlab (100$ for student edition)
 

Topics to be covered and Homework Assigned  (exact due dates will be announced in class).

This course plan may be modified during the semester. Such modifications will be announced in advance during class periods, and the students are responsible for keeping abreast of such changes. The WWW page for the course will also be used to list assignments and other notes, and students are responsible for checking this web page regularly.

 

Introduction to Java

Solutions to all review questions are given on the book web site (http://cs.armstrong.edu/liang/intro6e/).   You should look at all of them, but (obviously) do not have to submit them.   Below, I will list some review questions which I think are good, but you should look at all of them!   Beware that some exam problems are going to be similar to those problems.

HW below are from programming assignments at the end of each chapter.

Part I Fundamentals of Programming
Chapter 1 Introduction to Computers, Programming, and Java

            Programming: 1

Chapter 2 Primitive Data Types and Operations

            Review: 1, 2, 5, 6, 10, 13, 16, 21, 22       

            Programming: 1, 3, 6, 9, 13

 
Chapter 3 Selection Statements

            Review:  2  3  5  6  10  14  16  18  22  24 

            Programming:  3  5  8  10  13

  
Chapter 4 Loops

            Review:  1  3  8  9  10  12  14  16  17  18 (loop tracing!  will be on exam!)   19

            Programming:  1  2  3  7   8   12  16  18  19  21  23  25  26

  
Chapter 5 Methods

            Review:  5  8  11  12  13  14  15  17  18

Programming:  2  4  8  12  13  17  19  21  23


Chapter 6 Arrays, Searching and Sorting

            Review:  3  6  7  10  11  13  14  15  17-27

Programming:  2  3  4  5  6  11  12   13   17   21  22  25  26



Part II Object-Oriented Programming


Chapter 7 Objects and Classes

Review:   4–8  10  11  15-22

Programming:   1  3  5  7  8  11  12

Chapter 8 Strings and Text I/O

Review:   1  2  4-6  9  10  13-17  19  29

Programming:   4  5  8  10  11  21  22


Chapter 9 Inheritance and Polymorphism

Review:  1-15

Programming:  1  3  5


Chapter 10 Abstract Classes and Interfaces.  (optional)
Chapter 11 Object-Oriented Design.   (optional) 

Chapter 19 Recursion

            Review:  1-8   9a   10-15

            Programming:     1  2   4   7 (same as I have done for slides in Hanoi program)    12   

 

 

Introduction to Matlab (as time permits)

Unfortunately this and all the other texts I could find try to give encyclopedic treatment of Matlab features in each chapter, which makes it a good reference later, but could be overwhelming for a beginner.  In my class Power Point Presentations I will underline all the topics which you really have to know, other details of the text have to be read for your information, but you will not be tested on them.  In addition, in the lectures, I will underline all the topics which we will skip.

Chapter 1 - An Overview of Matlab - introduces the Matlab environment and all of the main constructs (which are studied in greater detail in Ch 4 - Programming in Matlab).

                    HW: 2, 4, 7, 8, 14, 18,  21, 28, 35, 36, 37, 40

Chapter 2 - Numeric Cell and Structure arrays - introduces arrays - the most important data structure in Matlab.  We will skip cell arrays and study only briefly structure arrays.

                    HW: 1, 6, 7, 9, 13, 18, 21, 25,  37, 42,  51 – 53  

Chapter 3 - Functions and Files - introduces a large class of Matlab standard built-in functions, user defined functions, as well as how to deal with data files.   We will skip section 3.3.

                    HW: 2, 6, 9, 10, 13, 17

Chapter 4 - Programming in Matlab - a more detailed study of basic programming structures such as relational operators, conditional statements, and loops.

                    HW:  6,  9, 11, 17, 23, 28, 32 part c can be plotted using the following commands:

                                    contour([0:0.2:2],[0:0.2:2],T),xlabel(x'),ylabel('y')

                                    surface([0:0.2:2],[0:0.2:2],T),xlabel('x'),ylabel("y'),zlabel('Temp (deg F)')

                                    mesh([0:0.2:2],[0:0.2:2],T),xlabel('x'),ylabel('y'), zlabel('Temp (deg F)'),

                           33,     For extra credit you can do: 40, 41

Chapter 5 - Advanced Plotting and Model Building - 2D plots, subplots and overlays, interactive plotting, regression, 3D plots

                    HW: 3, 6, 15, 18, 49, 51

             

Chapters 6-10 - material for possible future half course in the spring half term.