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:
1st exam – 1 week before Spring break, Final – exam week. Exact dates and times will be announced in class.
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
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, |
|
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
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
HW: 3, 6, 15, 18, 49, 51
Chapters 6-10 - material for possible future half course in the spring half term.