Great Deal! Get Instant $10 FREE in Account on First Order + 10% Cashback on Every Order Order Now

12/6/22, 9:47 PM Final Report/Reflection https://uwwtw.instructure.com/courses/497799/assignments/ XXXXXXXXXX/4 Final Report/Reflection Due Dec 14 by 11:59pm Points 80 Submitting a file...

1 answer below »
12/6/22, 9:47 PM Final Report/Reflection
https:
uwwtw.instructure.com/courses/497799/assignments/ XXXXXXXXXX/4
Final Report/Reflection
Due Dec 14 by 11:59pm Points 80 Submitting a file upload
File Types pdf, docx, odt, and rtf Available Nov 28 at 12am - Dec 14 at 11:59pm
Start Assignment
This report will be due Wednesday, December 14th at 11:59pm. No extensions are anticipated.
As you embark on a career in computing, you will encounter a wide variety of opinions about
programming languages and related technologies. You have probably also formed some opinions based
on the language(s) that you are most familiar with.
In this course, you have encountered two or three programming languages that are new to you. Some of
them are probably very different from any programming language that you have used before. Instead of
a final exam, I'm asking you to write about your experiences with these languages.

Objectives
This final assignment asks you to do two things.
1. Think critically about the languages that you encountered in this course.
2. Discuss how your exposure to these languages will change the way that you approach programming
—or why it will not change they way that you approach programming.

Content
Your report must address all of the following topics to earn full points for content. You do not need to
address the topics in this order. If it's easier for you to write your report as "Part 1" and "Part 2", feel free
to do that.
1. Python has become increasingly popular as a language for teaching new programmers "how to
code".
1. Why do you think this is the case?
2. State at least one aspect of Python that you think makes it easier to learn or use, compared to
Java or C++ (choose the language you are more familiar with).
12/6/22, 9:47 PM Final Report/Reflection
https:
uwwtw.instructure.com/courses/497799/assignments/ XXXXXXXXXX/4
3. State at least one aspect of Python that you think makes it harder to learn or use, compared to
Java or C++.
4. Do you think Python is a better choice than Java or C++ for a first programming language?
Explain why you think this, based on your experiences and (optionally) other sources.
2. Some people (mostly academics, but some working software developers too) believe that it's an
advantage for developers to learn a functional language first. The Little Schemer was written as an
introductory programming textbook. So is How to Design Programs (https:
htdp.org/2020-8-
1/Book/index.html) . Both use variants of Scheme.
1. Based on your experience, do you think either of these books would be more or less effective fo
teaching basic programming concepts to new programmers, compared to the "standard"
approach that you probably experienced in your first Java or C++ course? Why?
2. Think about the concepts that you struggled to learn when you first learned to program. Would
the approach of The Little Schemer or How to Design Programs have helped you learn these
concepts more effectively, or would this approach have confused you even more? Discuss why.

Format
Your report should be created using a word-processing or typesetting tool (i.e., not plain text). Use any
standard-looking typeface/font that you like; you are not required to use Cali
i, Times, or Times New
Roman.
Your report must be between 3 and 6 pages long, with 1-inch margins on all sides. Text must be
double-spaced and set in 11- or 12-point type. If desired, you may include section headings with up to
14-point type.
If you are using LaTeX, some other flavor of TeX, or some other document processing system (e.g.,
Pandoc), you can contact me for help finding the commands that produce this formatting.

Sources
Feel free to refer to our textbooks or to Internet sources (e.g., blog posts) to support your arguments.
You may use the following informal citation style.
For our textbooks, give the title (or initials: PLP or TLS) and page number in parentheses, similar to
MLA format. As an example, the discussion about l-values in Programming Language Pragmatics
could be cited as (PLP 230).
For a blog post or website, either give the URL in parentheses or create a hyperlink on the text
(example link (https:
example.com) ). Hyperlinks are prefe
ed. If there is a direct link to the
section that you are trying to cite use that direct link if possible
https:
htdp.org/ XXXXXXXXXX/Book/index.html
https:
example.com
12/6/22, 9:47 PM Final Report/Reflection
https:
uwwtw.instructure.com/courses/497799/assignments/ XXXXXXXXXX/4
CS320 Final Report-Fall 2020
section that you are trying to cite, use that direct link if possible.
If you would rather use a more formal citation style with a Works Cited page, that's fine, but it is not
equired.

Style
Your writing style will be evaluated using the "Coherence and Organization" and "Language Use and
Conventions" criteria of the UW-Whitewater Writing Matters ru
ic
(https:
www.uww.edu/documents/Assessment/Assessment%20NEW%20Documents/WRITING%20MATTERS
. You do not need to be overly formal or "academic", but please follow the rules of Standard Written
English.
Before you submit your paper, it is wise to review your writing in order to co
ect any syntax e
ors,
improve your word choice, and help your report "flow" better.

Submission
Submit your paper as a single .pdf, .docx, .odt, or .rtf file to this assignment on Canvas before the
deadline.
https:
www.uww.edu/documents/Assessment/Assessment%20NEW%20Documents/WRITING%20MATTERS%20ru
ic%20Jan%2012.pdf
12/6/22, 9:47 PM Final Report/Reflection
https:
uwwtw.instructure.com/courses/497799/assignments/ XXXXXXXXXX/4
Total Points: 80
Criteria Ratings Pts
10 pts
10 pts
10 pts
10 pts
10 pts
10 pts
10 pts
10 pts
Python: why it's popular 10 pts
Excellent
8 pts
Good
5 pts
Partial
0 pts
Missing
Python: easie
harder than Java or C++ 10 pts
Excellent
8 pts
Good
5 pts
Partial
0 pts
Missing
Python: better 1st language than Java/C++? 10 pts
Excellent
8 pts
Good
5 pts
Partial
0 pts
Missing
Scheme: better for learning programming? 10 pts
Excellent
8 pts
Good
5 pts
Partial
0 pts
Missing
Scheme books: less or more confusing? 10 pts
Excellent
8 pts
Good
5 pts
Partial
0 pts
Missing
Scheme books: explain your thinking 10 pts
Excellent
8 pts
Good
5 pts
Partial
0 pts
Missing
Format and style 10 pts
Excellent
8 pts
Good
5 pts
Partial
0 pts
Missing
Sources, if any 10 pts
Excellent
8 pts
Good
5 pts
Partial
0 pts
Missing

The Little Schemer - 4th Edition
The Ten Commandments
The First Commandment
When recu
ing on a list of atoms, lat, ask
two questions about it: (null? lat) and else.
When recu
ing on a number, n, ask two
questions about it: (zero? n) and else.
When recu
ing on a list of S-expressions, I,
ask three question about it: (null? I), (atom?
(car I)), and else.
The Second Commandment
Use cons to build lists.
The Third Commandment
The Fifth Commandment
When building a value with + ,always use
o for the value of the terminating line, for
adding 0 does not change the value of an
addition.
When building a value with x, always use
1 for the value of the terminating line, for
multiplying by 1 does not change the value
of a multiplication.
When building a value with cons, always
consider 0 for the value of the terminating
line.
When building a list, describe the first typi- The Sixth Commandment
cal element, and then cons it onto the natu-
al recursion.
The Fourth Commandment
Always change at least one argument while
ecu
ing. When recu
ing on a list of atoms,
lat, use (cdr lat). When recu
ing on a num-
er, n, use (sub1 n). And when recu
ing on
a list of S-expressions, I, use (car I) and (cdr
I) if neither (null? I) nor (atom? (car I)) are
true.
It must be changed to be closer to termina-
tion. The changing argument must be tested
in the termination condition:
Simplify only after the function is co
ect.
The Seventh Commandment
Recur on the subparts that are of the same
nature:
• On the sublists of a list.
• On the subexpressions of an arithmetic
expression.
The Eighth Commandment
Use help functions to abstract from represen-
tations.
when using cdr, test termination with null? The Ninth Commandment
and
when using sub1, test termination with
zero?
Abstract common patterns with a new func-
tion.
The Tenth Commandment
Build functions to collect more than one
value at a time.
The Five Rules
The Law of Car
The primitive car is defined only for non-
empty lists.
The Law of Cdr
The primitive cdr is defined only for non-
empty lists. The cdr of any non-empty list
is always another list.
The Law of Cons
The primitive cons takes two arguments.
The second argument to cons must be a list.
The result is a list.
The Law of Null?
The primitive null? is defined only for lists.
The Law of Eq?
The primitive eq'l takes two arguments.
Each must be a non-numeric atom.
The Little Schemer
Fourth Edition
Daniel P. Friedman
Indiana University
Bloomington, Indiana
Matthias Felleisen
Rice University
Houston, Texas
Drawings by Duane Bi
y
Foreword by Gerald J. Sussman
The MIT Press
Cam
idge, Massachusetts
London, England
Original edition published as The Little LISPer. © 1986, 1974 by Scientific Research
Associates.
First MIT Press Edition, 1987.
© 1996 Massachusetts Institute of Technology
All rights reserved. No part of this book may be reproduced in any form by any
electronic or mechanical means (including photocopying, recording, or information
storage and retrieval) without permission in writing from the publisher.
This book was set by the authors and was printed and bound in the United States
of America.
Li
ary of Congress Cataloging-in-Publication Data
Friedman, Daniel P.
The little schemer / Daniel P. Friedman and Matthias Felleisen; drawings by
Duane Bi
y; foreword by Gerald J. Sussman.-4 ed., 1st MIT Press ed.
p. cm.
Rev. ed. of: The little LISPer. 3rd ed. ©1989.
Includes index.
ISBN XXXXXXXXXXpbk: alk. paper)
1. Scheme (Computer program language) 2. LISP (Computer program language)
I. Felleisen, Matthias. II. Friedman, Daniel P. Little LISPer. III. Title.
QA76.73.S34F75 1996
005.13'3-dc XXXXXXXXXX
CIP
To Mary, Helga, and our children
(( Contents)
(Foreword ix)
(Preface xi)
((1. Toys) 2)
((2. Do It, Do It Again, and Again, and Again XXXXXXXXXX)
((3. Cons the Magnificent) 32)
((4. Numbers Games) 58)
((5. *Oh My Gawd*: It's Full of Stars) 80)
((6. Shadows) 96)
((7. Friends and Relations) 110)
((8. Lambda the Ultimate) 124)
XXXXXXXXXXand Again, and Again, and Again, XXXXXXXXXX)
((10. What Is the Value of All of This?) 174)
(Intermission 192)
(Index 194))
Foreword
This foreword appeared in the second and third editions of The Little
LISPer. We reprint it here with the permission of the author.
In 1967 I took an introductory course in photography. Most of the students (including me) came
into that course hoping to learn how to be creative-to take pictures like the ones I admired
y artists such as Edward Weston. On the first day the teacher patiently explained the long
list of technical skills that he was going to teach us during the term. A key was Ansel Adams'
"Zone System" for previsualizing the print values (blackness in the final print) in a photograph
and how they derive from the light intensities in the scene. In support of this skill we had
to learn the use of exposure meters to measure light intensities and the use of exposure time
and development time to control the black level and the contrast in the image. This is in turn
supported by even lower level skills such as loading film, developing and printing, and mixing
chemicals. One must learn to ritualize the process of developing sensitive material so that one
gets consistent results over many years of work. The first laboratory session was devoted to
finding out that developer feels slippery and that fixer smells awful.
But what about creative composition? In order to be creative one must first gain control
of the medium. One can not even begin to think about organizing a great photograph without
having the skills to make it happen. In engineering, as in other creative arts, we must learn
to do analysis to support our efforts in synthesis. One cannot build a beautiful and functional
idge without a knowledge of steel and dirt and considerable mathematical technique for using
this knowledge to compute the properties of structures. Similarly, one cannot build a beautiful
computer system without a deep understanding of how to "previsualize" the process generated
y the procedures one writes.
Some photographers choose to use black-and-white 8xlO plates while others choose 35mm
slides.
Answered 4 days After Dec 07, 2022

Solution

Vikas answered on Dec 11 2022
43 Votes
Last Name:    1
Name:
Professor:
Course:
Date:
Title: Python vs Java & cpp
Contents
Python: why it's popular    3
Python: easie
harder than Java or C++    3
Python: better 1st language than Java/C++?....................................................................................5
Scheme books: less or more confusing?..........................................................................................6
Scheme books: explain your thinking    7
Python: why it's popular
1. Python has become increasingly popular as a language for teaching new programmers "how to code".
1. Why do you think this is the case?
    Programming languages like java, c++ have hard syntax and new programmers face extreme difficulty in learning the difficult syntax of these languages. Python comes with minimal syntax that is easy to learn and is equivalent to English language. The syntax of languages like c++, java is one of the biggest obstacles for those who are interested in learning how to code. Python, however, is distinct. Python reads and writes more like ordinary English than almost any other programming language. These as well as other aspects help show why Python is the ideal option for individuals without adequate coding skills.
Python: easie
harder than Java or C++
2. State at least one aspect of Python that you think makes it easier to learn or use, compared to Java or C++ (choose the language you are more familiar with).    
Python code is very similar to English because it is a high-level language. You can determine what the code is supposed to perform just by looking at it. Additionally, it requires indentation because it is dynamically typed. It makes for easier reading.
You must compile it first, and then run it, if you are comfortable with any programming languages like C++ or Java. However, compiling is not necessary while using Python. Its source code is transformed internally into bytecode, an instantaneous form. Therefore, you only need to wo
y about running your Python code and not about linking to li
aries or other issues. When we say that source code is "interpreted," we mean that it is...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here