92053 CSC 1024N - Introduction to Programming
This web page is http://www.bernstein-plus-sons.com/.dowling/CSC1024F11/CSC1024_Syllabus.html
Copyright © 2002 -- 2004, 2011 Herbert J. Bernstein and other parties. All rights reserved.
This is the syllabus for CSC 1024N for Fall 2011. As the course moves forward, students should return to this page frequently for updated material.
Provides both a conceptual introduction to programming languages and a practical education in programming. The course focuses on problem solving using computers and the Java programming language. Stressed is the mindset needed to analyze challenging problems encountered in science and business and to implement solutions to such problems in software. Students are introduced to basic data structures, including 1D and 2D arrays. Important concepts from object-oriented programming are stressed, including class design, encapsulation, information hiding, and inheritance. On completion of this course, students should be competent Java programmers and should be aware of the capabilities of C and C++.
Prerequistes: CSC 1023N or CIS 1200N or permission of the Mathematics and Computer Science Department chair. MTH 1014A-Pre-calculus or equivalent is a prerequisite to CSC 1024
2010 -- 2012.
This Fall 2011 section is:
|Introduction to Programming - 92053 - CSC 1024N - 0|
Associated Term: Fall 2011
Registration Dates: Apr 11, 2011 to Dec 17, 2011
Instructors: Herbert J. Bernstein (P)
Lecture Schedule Type
Blended Instructional Method
View Catalog Entry
Students have the option of meeting with the instructor either on-site or via Skype. In order to avoid conflicts with other students and other obligations of the instructor, if possible please make an appointment via email.
Note that, in general, Dr. Bernstein will be at the Brookhaven campus on Monday, Tuesday and Thursday afternoons and on the Oakdale campus on Wednesday afternoons. Meetings on the Oakdale campus will be in KSC 103. Meetings at the Oakdale campus are by appointment only.
For more information see http://www.bernstein-plus-sons.com/.dowling/HJB_Contact_Info.html.
A computer is required to do the online portions of this course. Dowling College has open computer laboratories but use of a laptop computer or netbook is highly recommended. Any student who does not have their own netbook or laptop must contact the instructor to ensure that they make appropriate arrangements to keep up with the course.
A hard-bound laboratory notebook. An inexpensive back-and-white covered composition book will suffice but it must be bound (not looseleaf).
Keeping clear written records is an important part of working in any scientific field. It is particularly important in Computer Science where there are very complex, non-obvious decisions to make.
Students are expected to have their textbooks no later than the second week of the course. Students can start learning some of the material for the course immediately by going to the MIT OpenCourseWare site and reviewing the lecture notes at:
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/ and http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-java-preparation-for-6-170-january-iap-2006/
Attendance will be taken at all on-site class meetings, and regular participation in the on-line exercises is required. We are trying to arrange permission for students, who so wish, to participate in the on-site sessions via Skype. We will discuss that option further at the first on-site class session. Be certain to attend that one in person.
Your objective in this course is to learn to program. You should have already had an exposure to programming in your previous course. Now you must learn fluency. Even though we will use Java as the particular language for this course, the idea is not just to learn to program in Java but also to learn the concepts of programming so well that you will be comfortable programming in any language, certainly using any of the C-family of languages. You cannot complete the course until and unless you achieve sufficient skill to be able to take a program design problem you have never seen before and come up with a workable design in a few tens of minutes and working code in a week or so. Therefore the course will end with a final exam that will contain three such design problems followed by a week in which you will be expected to implement a working solution to one of those problems.
In addition to routine reading assignments, students will have quizzes and programming assignments to do. Students will turn in both quizzes and programming assignments on the web. Please follow the instructions for submission carefully. Under no circumstances should assignments be turned in as attachments to email. They are likely to get trapped by a spam filter.
Each student will be required to do one major project plus preparing a web page that explains the project and presents working code. The project must be completed in time to allow all other students and the instructor to review the project online and provide comments and suggestions for improvement so that the student can complete an improved version of the project before the end of the course.
Every student will be required to maintain a contemporaneous hardbound notebook recording all significant activities related to this course. The notebook should record the major topics discussed, questions about the subject matter of the course and the answers when they are found, and all activites related to the course project (see below).
Please consult the course assignments page frequently.
Using VNC via SSH: vnc.html