16
Computer Science E-10a: Introduction to Computer Science Using Java, I Handout #1 I. Overview Computer Science E-10a is a general introduction to computer science, with an emphasis on learning to program. A formal background in computer science is not required; nor is college-level mathematics. is the principal programming language that will be used. Although you should be able to use your own personal computer (Mac or Windows) for much of the course work, the programs you write in Java will ultimately need to be tested in our Linux™ environment (known as Cloud9) and submitted electronically; later we’ll explain how this is accomplished. Preliminary programming exercises will utilize the Scratch environment, free software you can access from the website http://scratch.mit.edu, which runs on various platforms: Mac OS, Windows OS and certain versions of Linux. The emphasis of CSCI E-10a is on learning the principles and practices of object-oriented programming using a design methodology that places a high value on programs that not only generate the “right answers” but that are also easy to read, maintain, and modify. These elements are important in any programming, regardless of the specific language used. In addition, we will survey the landscape of computer science as it exists today, with some reference to the past and future. This will enable us to touch on such diverse topics as Fall, 2016 Dr. H. H. Leitner

I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Handout #1

!

I. Overview Computer Science E-10a is a general introduction to computer science, with an emphasis

on learning to program. A formal background in computer science is not required; nor is college-level mathematics.

is the principal programming language that will be used. Although you should be able to use your own personal computer (Mac or Windows) for much of the course work, the programs you write in Java will ultimately need to be tested in our Linux™ environment (known as Cloud9) and submitted electronically; later we’ll explain how this is accomplished.

Preliminary programming exercises will utilize the Scratch environment, free software you can access from the website http://scratch.mit.edu, which runs on various platforms: Mac OS, Windows OS and certain versions of Linux.

The emphasis of CSCI E-10a is on learning the principles and practices of object-oriented programming using a design methodology that places a high value on programs that not only generate the “right answers” but that are also easy to read, maintain, and modify. These elements are important in any programming, regardless of the specific language used.

In addition, we will survey the landscape of computer science as it exists today, with some reference to the past and future. This will enable us to touch on such diverse topics as

Fall, 2016 Dr. H. H. Leitner

Page 2: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Page !2

the binary representation of information inside a computer and the practical matter of how to use various Internet-based tools such as secure FTP and SSH applications.

Although we believe the content of CSCI E-10a is fairly straightforward, this is one of those computer courses in which the problem sets can be somewhat time-consuming. It is not unusual for some students to spend as many as 10 (or more) hours per week, on average, doing the homework. If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then you might wish to reconsider whether or not to take Computer Science E-10a. You’ve been warned!

! … you’ll soon understand what all this means!

It would be helpful also if the hours you intend to spend using the computer are reasonably flexible. Computers can sometimes “crash” or “freeze” or “hang” for seemingly inexplicable reasons, causing you to lose work — the course staff has absolutely no control over when and why this happens. Looking at the bright side, Harvard’s computing facilities are available for student use 24 hours a day, 7 days a week — and you will have access to a very dedicated teaching staff to help you with homework assignments.

II. Participating Online

CSCI E-10a lectures (along with other course-related materials) are made available via the Internet. These on-demand streaming video/audio presentations can be viewed by students anywhere in the world within 24 hours of the actual class meeting, so long they have a reasonably fast and reliable connection to the Internet and have installed the required software onto their computer. For more information on technical requirements and to view a sample lecture, see http://www.extension.harvard.edu/academics/courses/types-courses/video-course-guidelines

Fall, 2016 Syllabus Dr. H. H. Leitner

Page 3: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Page !3

Because the course is also being offered “live” on campus at 5:30 pm on Monday evenings, we will have a real-time audio/video stream available for students to watch when the class takes place. The link to the live stream (as well as the on-demand records) will be available through our course website, which is http://www.fas.harvard.edu/~cscie10

Do not attempt to take this course online unless you have a reliable Internet connection and have installed the necessary software on your personal computer. Be sure to watch a sample lecture before the semester begins, to be certain that your computer is capable of receiving the streaming video and audio in an acceptable fashion.

!

III. Course Staff

Faculty

Dr. Henry Leitner 51 Brattle St., rm. W-719Office hours: by appointment

email: [email protected]

(617) 495-9096

Fall, 2016 Syllabus Dr. H. H. Leitner

Page 4: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Page !4

Teaching Assistants (TAs)

others to be announced, if enrollment warrants

Each CSCI E-10a student will be assigned to one of the teaching assistants listed above. 1

The TAs are responsible for grading homework and for helping students, in general, with the material covered in this course. While they can be contacted individually via email, the address [email protected] will reach all the TAs at once.

Each student is expected to attend a semi-mandatory one-hour “section meeting” every

week, beginning the week of August 30. The section meetings are run entirely by the various TAs, and some are held in classrooms on campus. One of the section meetings will be recorded, digitized, and be made available online; other sections will be held online, utilizing web conferencing software. The precise times and places for section meetings will be announced shortly on our website (which you should consult on a regular basis for late-breaking announcements and updates):

http://www.fas.harvard.edu/~cscie10

For the first couple of weeks, feel free to attend ANY section you wish! In order to be assigned to a permanent section, you must run our automated “sectioning program,” but not until perhaps the third week of class. To do this you must first activate your Harvard computer account. We will demonstrate how to perform this activation and supply you with the necessary details on how to sign up for a section.

In addition to running section meetings, the TAs will hold regular “office hours” to assist students with homework assignments and other course-related matters. The schedule of TA office hours will be announced shortly. Later on we will provide you with more detailed information on how the TAs are individually sharing their responsibilities; for the moment, you are encouraged to contact any one of the TAs if you need some quick help or advice.

Name Email address

Mr. Dimitri Kountourogianni (head TA) [email protected]. Justin Devuono (co-head TA) [email protected]. David Habermehl [email protected]. Limor Gultchin [email protected]. Christopher Morris [email protected]. Samuel Becker [email protected]. Brandon Tineo [email protected]

The list of TAs is tentative, and will depend on final enrollment in the course. 1

Fall, 2016 Syllabus Dr. H. H. Leitner

Page 5: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Page !5

IV. More Important Information ...

Attendance at section meetings, while not required, can prove critical in learning the material, as this course progresses rapidly. The course handouts are numbered sequentially and will be posted on our course website.

Important announcements — e.g., section meeting changes, errata and clarifications on homework problems, etc., will occasionally appear on the computer terminal when you begin a session with the timeshared Linux system. Please pay careful attention to these notices. Some will be of greater and more immediate importance than others. These same announcements will be posted also on our course website, so those of you who intend to make heavy use of computers other than our Linux system will still have a way of keeping in touch with late-breaking course-related news.

In general, you will submit your completed homework “electronically” prior to 5:00 PM (Eastern Standard Time) on Monday evenings, using procedure that will be outlined in lecture and also described on the course website.

V. What to Read

The one required text, as well as supplementary textbooks for this course, are all for sale at the Harvard COOP bookstore. Note that if you are taking the course “at a distance,” then you can purchase any of these textbooks through an online store such as amazon.com or barnesandnoble.com. They will be on reserve also at the Harvard Extension School’s Grossman Library on the third floor of Sever Hall.

The one item you ought to purchase is Building Java Programs (A Back to Basics Approach) 4th edition, by Stuart Reges and Marty Stepp. Published by Addison-Wesley, 2016. ISBN #978-0134322766. Note that the 3rd edition is also available, with ISBN #978-0133437300, and might be less expensive.

Fall, 2016 Syllabus Dr. H. H. Leitner

Page 6: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Page !6

Additional supplementary textbooks, none of which you are required to purchase, are listed below. These texts are particularly well-written and may be of interest to those of you who wish to explore specific topics in more depth.

❖ The Linux Command Line: A complete Introduction, by William Shotts. Published by No Starch Press, San Francisco, 2012. ISBN #9781593273897. Since you will be writing your Java programs in a Linux environment, you may find it helpful to learn a bit more about this important operating system.

❖ Computer Science: An Overview (12th edition), by J. Glenn Brookshear and Denis Brylow. Published by Prentice-Hall, 2014, ISBN #978-0133760064. This book offers a clear and concise survey of computer science, covering a wealth of topics and equipping the reader with an understanding of the scope of the discipline as well as the terminology in the field.

❖ On to Java 2 (3rd edition), by Patrick Winston and Sundar Narasimhan. Published by Addison-Wesley, 2001. ISBN #0-201-72593-2. A free, online version of this text is available at http://people.csail.mit.edu/phw/OnToJava/

Fall, 2016 Syllabus Dr. H. H. Leitner

Page 7: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Page !7

❖ Learn to Program with Scratch: A Visual Introduction to Programming with Games, Art, Science, and Math, by Majed Marji. Published by No Starch Press, San Francisco, 2014. ISBN #9781593275433.

We will post PDFs of all the materials used in class to the Handouts section of our course website. You will receive instructions in class on how to access these PDFs, and you might find it useful to print some of this material before watching the course lecture online, so that you can easily annotate the slides.

VI. Doing the Problem Sets

The majority of the homework will involve problem-solving using your own personal computer (which should be configured for Internet access), or one of the networked personal computers at the Science Center or at 53 Church St. Some of the homework exercises will be short paper-and-pencil problems. In addition, there may, on occasion, be a number of “supplementary” programming problems — you can decide which ones (if any) you want to work on.

Each student will have an account on a cluster of computers running the Linux operating system using software managed by a company named Cloud9 and the Harvard course CS50. In class we'll tell you more about getting your own personal account set up; as you will soon find out, this software environment is accessed by using a web browser.

Fall, 2016 Syllabus Dr. H. H. Leitner

Page 8: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Page !8

We will deduct 10% for a homework assignment that is turned in up to 3 days late. 20% will be deducted if the homework is more than 3 days late. No homework will be accepted more than 7 days late; and no “extra credit” problems may be turned in late at all. As previously mentioned, your homework will generally be due in electronic form prior to 5:00 PM on Monday evenings, and if the electronic file is more than 10 minutes late arriving, then it will be considered a full day late.

As I usually plead: please, please, PLEASE

Do NOT fall behind on homeworks!

Just as you cannot expect to learn how to drive a car by reading about it or by watching other people do it, the same holds true for programming a computer. Do your work on time — this is one course you simply cannot “cram” for at the last minute, so don't even try! We cannot stress this strongly enough. Remember that for some of you the homework will be quite time-consuming, so please reconsider your other commitments before you decide to continue with CSCI E-10a.

Here are a few additional guidelines to follow when turning in homework:

‣ Turn in all parts of your homework at the same time.

‣ Include your full name, course, date and assignment number in a comment line at the beginning of every program.

‣ For the programming assignments, be sure to carefully test your programs to be sure they work. Remember that your assignments will be graded on the basis of both correctness and clarity (e.g., the use of meaningful identifiers, appropriate indentation of statements, modular design, comments). We will have more to say about this a bit later. Note that we will not always be providing you with a set of standard “test cases” on which your programs must operate successfully — so be careful when you try out your programs.

‣ Whether you are taking this course “at a distance,” or taking the course on-campus, all your work (including the pencil-and-paper problems) must be submitted in electronic form, and must follow very precise procedures we will supply. Emailing your homework is NOT going to be how your work is turned in.

Fall, 2016 Syllabus Dr. H. H. Leitner

Page 9: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Page !9

‣ You are NOT permitted to “borrow” code found on websites, magazines or books. Nor can you have friends or family members write your programs. Violations of this rule will be subject to disciplinary action.

Student final grades in CSCI E-10a will be based on the homework, an open-book midterm exam, an open-book final — and the teaching assistant’s appraisal of individual achievement. For all students, the final exam will, on average, count towards 33% of the final grade; the midterm exam will count an additional 17%; and the homework will count toward the remaining 50%.

Please note that an EXTension in CSCI E-10a will be granted only in extreme circumstances (e.g., illness), and only when appropriate documentation is provided. Such cases must be cleared with Dr. Leitner as early as possible, and before January in any event.

VII. Important Rules and Regulations

The following passage appears in the Harvard University publication, Handbook for Students:

A computer program written to satisfy a course requirement is, like a paper, expected to be the original work of the student submitting it. Copying a program from another student or from any other source is a form of academic dishonesty, as is deriving a program substantially from the work of another.

Persons who do not know how to program a computer are understandably puzzled about how the concept of plagiarism could possibly be applicable in a computer course. Is a program not an exact object, like a number, and must not any two correct solutions to a programming problem be identical? The truth is quite different. Superficial appearances aside, computer programs more closely resemble essays than numbers. The copyright laws recognize this; so do standards of behavior at Harvard.

Two programmers may adopt radically different approaches to solving the same problem, as different as the ideas of two students asked to write critically on the same painting. Very small programs do not admit this much variability in overall design, but anything over a page long certainly does, unless the design itself was specified as part of

Fall, 2016 Syllabus Dr. H. H. Leitner

Page 10: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Page !10

the exercise. But even when two programs are based on the same overall design, the variation in possible form of expression is vast.

Programming courses attempt to teach graceful and forceful forms of expressions for computational ideas, but every programmer has idiosyncrasies of style and vocabulary. The likelihood of two programmers independently creating identical programs of more than two or three lines in length is no larger than the likelihood of two writers independently writing identical paragraphs. And programs that are identical except for their choice of names (for example, one has “x” everywhere the other has “y”) are as improbable as two short stories that are identical except for the names of the characters. Paraphrase is as possible, and as dishonest, with programs as with papers; two programs can be copies of each other even though no single line of one is identical to any line of the other. There should be little confusion about what is legitimate and what is not in the production of a computer program; the rule is simple, simpler than in expository writing, since programming generally does not involve library research and use of sources: Do not submit as your own work a program based on the work of another! Violations of this rule is plagiarism; it is dishonorable behavior, and the penalty for it is requirement to withdraw from the Extension School.

Two obvious "exceptions" to this rule may be noted in passing. Courses sometimes supply the main idea or even some of the text of a program that is to be completed as an exercise; naturally, students are expected to use this assistance. And there is merit in “copying from oneself” in a course that develops cumulative programming skills. Here programs differ from papers; no author would want to write two different pieces with several paragraphs in common, but with computer programs, this is not unusual. A skill taught in programming courses is how NOT to reinvent the wheel; when a small phrase or short sentence has proven useful and reliable in one program, a programmer should feel free to reuse it if the same thing needs to be said in another program. Such clauses play the role of aphorisms; they make a point but they are not the main point of the piece being written.

Of course, neither of these examples obscures the basic point that a program submitted as original work should not have been derived from the work of another unless the course has specifically permitted this.

How much help on a programming exercise may you obtain before you are stealing, rather than being assisted? Teaching assistants and user assistants know the limitations of what is fair and legitimate; their goal is to help you understand how to solve your own problem, not to solve it for you. If you seek help from other students you are treading on much thinner ice. When a student answers a simple factual question which could have been answered out of a manual, no violation of principle is involved; it is not dishonest to ask another student the value of PI or the statement of the Pythagorean Theorem. But the more your request is for part or all of the solutions to the programming exercise itself, rather than for general factual information, the less

Fall, 2016 Syllabus Dr. H. H. Leitner

Page 11: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Page !11

acceptable it is. In the extreme case one student asks for and receives the actual text of a program which both were to have created independently; in this case both are guilty of academic dishonesty.

Also in Handbook for Students is a section related to collaboration:

Students must assume that collaboration in the completion of assignments is prohibited unless explicitly permitted by the instructor. Students must acknowledge

any collaboration and its extent in all submitted work.

In some courses students are expected to work in teams on the implementation of very large programs. Just because you see two students huddled over the same terminal and discussing programs in great detail, do not assume that this is standard and acceptable behavior in your course! If you have any doubt about what type of collaboration is permissible, do not make assumptions: ask the instructor. A general argument that you were only doing what you saw others doing is not a legitimate defense.

All students are responsible for adhering to these additional policies concerning security, privacy, use of facilities, and so on: http://hwpi.harvard.edu/huit/pages/additional-policies-harvard-university-information-technology

You are responsible for obeying the rules! Violations will be dealt with harshly (you may be subject to dismissal from the Extension School).

VIII. Syllabus

The content of CSCI E-10a is divided into 4 individual “units” or components, and will be covered in lectures that conform to the dates shown:

• Unit 1 — Scratch Programming August 29 through September 18By starting “from Scratch” it will be easy for students to absorb quickly a large number of useful and important programming concepts (e.g., iteration, conditional execution, threading). This software is available for free, and runs on both Mac OS/X and Windows platforms. Read chapter 1 in the Reges text.

Fall, 2016 Syllabus Dr. H. H. Leitner

Page 12: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Page !12

• Unit 2 — Elementary Java September 19 through October 16 Introduction to conventional Java application programming: The structure of a standard Java program; primitive data types (principally, integer and double variables and constants), arithmetic operators, expressions, assignment, and strings. Simple I/O using System.out and the Scanner class.

Parameterless static methods, conditional statements, and for loops. Notion of integer “overflow” and floating-point roundoff imprecision. How to thoroughly test and debug programs. This unit approximately covers the material in chapters 2 and part of chapter 4 in the Reges text.

• Unit 3 — Intermediate Java October 17 through November 13 Simulation using pseudo-random numbers. Parameter passing and returning values. More on flow of control (the while, do-while, switch, break, and continue statements).

Scope and lifetime of variables and identifiers. The char primitive data type and the String class. This unit covers roughly the material in chapters 3, 5 and the rest of chapter 4 in the Reges text.

• Unit 4 — Objects November 14 through December 18 Classes, objects, and method declaration/definition. Information hiding and encapsulation (through the use of public and private). Introduction to single-dimensioned and multi-dimensioned arrays.

Simple recursion. This unit covers much of the material in chapter 7 and the first part of chapters 8 and 12 in the Reges text.

Pleasetakenoteofthefollowingimportantdates:

✦ October 24: Open-book, one-hour quiz on elementary Java programming

✦ December 19: Open-book, two-hour final examination on Java programming

Fall, 2016 Syllabus Dr. H. H. Leitner

Page 13: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Page !13

Map Showing Important Locations

Fall, 2016 Syllabus Dr. H. H. Leitner

53

Church

computer

labs

Science

Center (#1

Oxford St.)

Maxwell-

Dworkin G115

1

Story St.

Page 14: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Page !14

Beatles in the new millennium, for computer people!

Yesterday

Yesterday, All those backups seemed a waste of pay. Now my database has gone away. Oh I believe in yesterday.

Suddenly, There's not half the files there used to be, And there's a milestone hanging over me The system crashed so suddenly.

I pushed something wrong What it was I could not say.

Now all my data’s gone and I long for yesterday-ay-ay-ay.

Yesterday, The need for back-ups seemed so far away. I knew my data was all here to stay, Now I believe in yesterday.

Eleanor Rigby

Eleanor Rigby Sits at the keyboard and waits for a line on the screen Lives in a dream Waits for a signal Finding some code That will make the machine do some more. What is it for?All the lonely users, where do they all come from? All the lonely users, why does it take so long?

Guru MacKenzie Typing the lines of a program that no one will run; Isn't it fun? Look at him working, Munching some chips as he waits for the code to compile; It takes a while...

All the lonely users, where do they all come from? All the lonely users, why does it take so long?

Eleanor Rigby Crashes the system and loses 6 hours of work; Feels like a jerk. Guru MacKenzie Wiping the crumbs off the keys as he types in the code;

Fall, 2016 Syllabus Dr. H. H. Leitner

Page 15: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Page !15

Nothing will load.

All the lonely users, where do they all come from? All the lonely users, why does it take so long?

Unix Man (Nowhere Man)

He's a real Unix Man Sitting in his Unix LAN Making all his Unix plans For nobody.

Knows the blocksize from du(1) Cares not where /dev/null goes to Isn't he a bit like you And me?

Unix Man, please listen(2) My lpd(8) is missin' Unix Man The wo-o-o-orld is at(1) your command. He's as wise as he can be Uses lex and yacc and C Unix Man, can you help me At all?

Unix Man, don't worry Test with time(1), don't hurry Unix Man The new kernel boots, just like you had planned.

He's a real Unix Man Sitting in his Unix LAN Making all his Unix plans For nobody ... Making all his Unix plans For nobody.

Write in C ("Let it Be")

When I find my code in tons of trouble, Friends and colleagues come to me, Speaking words of wisdom: "Write in C."

As the deadline fast approaches, And bugs are all that I can see,

Somewhere, someone whispers: "Write in C."

Write in C, Write in C, Write in C, oh, Write in C. LOGO's dead and buried, Write in C.

Fall, 2016 Syllabus Dr. H. H. Leitner

Page 16: I. Overviewsites.fas.harvard.edu/~cscie10/no1.e10a.2016.pdf · If you have other major time commitments (e.g., a part-time job, other courses, a family, friends, hobbies, etc.), then

Computer Science E-10a: Introduction to Computer Science Using Java, I Page !16

I used to write a lot of FORTRAN, For science it worked flawlessly. Try using it for graphics! Write in C.

If you've just spent nearly 30 hours, Debugging some assembly, Soon you will be glad to Write in C.

Write in C, Write in C, Write in C, yeah, Write in C. BASIC's not the answer. Write in C.

Write in C, Write in C Write in C, oh, Write in C. Pascal won't quite cut it. Write in C.

Something

Something in the way it fails, Defies the algorithm's logic! Something in the way it coredumps... I don't want to leave it now I'll fix this problem somehow

Somewhere in the memory I know,A pointer's got to be corrupted. Stepping in the debugger will show me... I don't want to leave it now I'm too close to leave it now

You're asking me can this code go? I don't know, I don't know... What sequence causes it to blow? I don't know, I don't know...

Something in the initializing code? And all I have to do is think of it! Something in the listing will show me...

I don't want to leave it now -- I'll fix this tonight I vow!

Above all, enjoy yourselves in this course … and … g o o d l u c k !

Fall, 2016 Syllabus Dr. H. H. Leitner