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

1 answer below »
All the information are in the Final Report_Reflection.pdf file. I have also attached the books we used in class just in case a reference was needed.


12/6/22, 9:47 PM Final Report/Reflection https://uwwtw.instructure.com/courses/497799/assignments/4945207 1/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/4945207 2/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 for 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 Calibri, 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 preferred. If there is a direct link to the section that you are trying to cite use that direct link if possible https://htdp.org/2020-8-1/Book/index.html https://example.com/ 12/6/22, 9:47 PM Final Report/Reflection https://uwwtw.instructure.com/courses/497799/assignments/4945207 3/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 required. Style Your writing style will be evaluated using the "Coherence and Organization" and "Language Use and Conventions" criteria of the UW-Whitewater Writing Matters rubric (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 correct any syntax errors, 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%20rubric%20Jan%2012.pdf 12/6/22, 9:47 PM Final Report/Reflection https://uwwtw.instructure.com/courses/497799/assignments/4945207 4/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: easier/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 recurring on a list of atoms, lat, ask two questions about it: (null? lat) and else. When recurring on a number, n, ask two questions about it: (zero? n) and else. When recurring 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- ral recursion. The Fourth Commandment Always change at least one argument while recurring. When recurring on a list of atoms, lat, use (cdr lat). When recurring on a num- ber, n, use (sub1 n). And when recurring 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 correct. 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 Bibby Foreword by Gerald J. Sussman The MIT Press Cambridge, 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. Library of Congress Cataloging-in-Publication Data Friedman, Daniel P. The little schemer / Daniel P. Friedman and Matthias Felleisen; drawings by Duane Bibby; 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 0-262-56099-2 (pbk: 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-dc20 95-39853 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 ... ) 14) ((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) ((9 .... and Again, and Again, and Again, ... ) 148) ((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 by 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 bridge 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 by the procedures one writes. Some photographers choose to use black-and-white 8xlO plates while others choose 35mm slides.
Answered 4 days AfterDec 07, 2022

Answer To: 12/6/22, 9:47 PM Final Report/Reflectionhttps://uwwtw.instructure.com/courses/497799/assignments/...

Vikas answered on Dec 11 2022
29 Votes
Last Name:    1
Name:
Professor:
Course:
Date:
Title: Python vs Java & cpp
Contents
Python: why it's popular    3
Python: easier/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: easier/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 worry about running your Python code and not about linking to libraries 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