CSE110 Principle of Programming Summer 2020 I. COURSE ..., Lecture notes of Programming Languages

solving projects where the solution is an algorithm written in a programming language like Python or Java. Note: There will be 10 Project Challenges.

Typology: Lecture notes

2022/2023

Uploaded on 05/11/2023

nicoth
nicoth 🇺🇸

4.3

(20)

262 documents

1 / 8

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CSE110 Principle of Programming Summer 2020
I. COURSE OVERVIEW
Computers are all around us. They’re in our pockets, our phones, homes,
schools, and offices. Sure, you may know how to use a computer to write a
document or send an email, but what if you could take full advantage of the
machine you’re sitting at right now, and make people’s lives better and
easier? And what if all you needed to do it were some programming basics
and a web browser? Knowing how to program, to understand and control the
machines that surround us, is a critical skill in our modern world. And this
7.5-week, 3credit class is your first step toward doing just that. You’ll see
what a computer scientist does, learn how to think like a programmer, and
be able to speak the language of computers to write your own apps and solve
today’s problems.
This course is focused on learning by doing in an interactive, minimally
technical way; no prior programming experience is needed. You will learn
about the operation and capabilities of computers; algorithmic problem-
solving; debugging programs and automating basic processes; and how to
write basic programs using modern programming languages. You’ll use
innovative interactive web technologies, enabling you to write and execute
code, view the inner workings of the computer as it processes instructions, and
visualize the fundamentals of programming.
The first half of this course uses the approachable Python programming
language to teach fundamental programming principles, then switches to the
Java language to develops kills in one of the most popular programming
languages in the world. Programming projects are based on real-world
problems, and automated tools provide you with immediate feedback, which
is then augmented by style and structure feedback from expert instructors.
1 of 8
**Disclaimer**
This syllabus is to be used as a guideline only. The information provided is a summary of topics to be covered in the class.
Information contained in this document such as assignments, grading scales, due dates, office hours, required books and materials may be from
a previous semester and are subject to change. Please refer to your instructor for the most recent version of the syllabus.
pf3
pf4
pf5
pf8

Partial preview of the text

Download CSE110 Principle of Programming Summer 2020 I. COURSE ... and more Lecture notes Programming Languages in PDF only on Docsity!

CSE110 Principle of Programming Summer 2020

I. COURSE OVERVIEW

Computers are all around us. They’re in our pockets, our phones, homes, schools, and offices. Sure, you may know how to use a computer to write a document or send an email, but what if you could take full advantage of the machine you’re sitting at right now, and make people’s lives better and easier? And what if all you needed to do it were some programming basics and a web browser? Knowing how to program, to understand and control the machines that surround us, is a critical skill in our modern world. And this 7.5-week, 3credit class is your first step toward doing just that. You’ll see what a computer scientist does, learn how to think like a programmer, and be able to speak the language of computers to write your own apps and solve today’s problems. This course is focused on learning by doing in an interactive, minimally technical way; no prior programming experience is needed. You will learn about the operation and capabilities of computers; algorithmic problem- solving; debugging programs and automating basic processes; and how to write basic programs using modern programming languages. You’ll use innovative interactive web technologies, enabling you to write and execute code, view the inner workings of the computer as it processes instructions, and visualize the fundamentals of programming. The first half of this course uses the approachable Python programming language to teach fundamental programming principles, then switches to the Java language to develops kills in one of the most popular programming languages in the world. Programming projects are based on real-world problems, and automated tools provide you with immediate feedback, which is then augmented by style and structure feedback from expert instructors. Disclaimer This syllabus is to be used as a guideline only. The information provided is a summary of topics to be covered in the class. Information contained in this document such as assignments, grading scales, due dates, office hours, required books and materials may be from a previous semester and are subject to change. Please refer to your instructor for the most recent version of the syllabus.

Fluency in programming only comes with experience and practice. In the process, we hope you’ll fall in love with the challenge and excitement of computer science and set yourself on a path to where you can program all the time! Learning Objectives and Topics By the end of this course, students should be able to:

  1. Demonstrate problem solving techniques for programming.
  2. Develop algorithms to solve problems. Demonstrate effective troubleshooting, testing, and debugging of programs.
  3. Describe and apply variables, basic and composite data types, and collections to the development of programs.
  4. Develop programs using fundamental structures of sequence, selection, and iteration.
  5. Write functions that accept parameters and return results.
  6. Implement object oriented programs.
  7. Describe the importance and relevance of computing and programming skills in their lives and careers. Topics include: ● Programming with Python and Java Languages ● Algorithmic Problem Solving ● Computers and Representation of Data ● Functions ● Structured Programming ● Classes and Objects ● Arrays and Lists ● Object Oriented Programming

II. WEEKLY ACTIVITIES AND TIME COMMITMENT

Class preparation means reviewing all material required for a given section of the course and completing all assignments by the deadlines indicated. Attendance in an online course means logging into the course website on a regular basis and participating in all of the activities that are posted. This 7.5- week, 3-credit course requires 135 hours of student work. Therefore, expect

Graded Assignments Graded assignments are required, and count toward your final grade. Students must submit all assignments via the course website unless otherwise instructed. Each assessment has submission instructions. Skill Challenges - 10%, (4): Skill Challenges are auto-graded quizzes and non- coding written assignments. Project Challenges - 40%,(8): Project Challenges are applied problem solving projects where the solution is an algorithm written in a programming language like Python or Java. Note: There will be 10 Project Challenges total, and the best 8 will count toward your grade. (The two lowest-scoring Project Challenges will be dropped.) Midterm (25%) and Final Exam (25%): Each exam consists of two parts, a multiple choice part, and an applied programming part. Ungraded Activities Many activities in this course do not directly contribute to your grade. These activities develop your knowledge and skill without penalty and are critical to your learning success and progress throughout the course. Knowledge Checks and Code Reviews: As you read course content and watch videos, you'll encounter short quizzes that will help you check your knowledge and provide feedback. Practice Challenges: Practice Challenges are ungraded, applied problem- solving challenges where the solution is an algorithm written in a programming language such as Python or Java. Play, Create, Share: These discussion activities, included throughout the course, are opportunities to apply what you have learned, share the results with your classmates, and receive their feedback. (Remember to keep the conversation civil, and free of harsh judgement.) The course team may also comment, to provide additional insight and expertise. Live Code Examples: Live Code Examples are interactive, executable code that allows you to explore programming concepts. You will be asked to execute the code, observe the results, and oftentimes to make changes or analyze the code behavior.

Point(s) of Interest: Points of Interest are things that we think you might find enriching, but are not strictly necessary. By visiting Points of Interest, you can take a more “scenic route” as you progress through the course. Introductions: Please visit the “Introduce Yourself!” subsection, located in “Your First Hour as a Computer Scientist,” to tell the course team and your classmates a little bit about yourself, your community, and how you expect to change as a result of this course in the “Introduce Yourself!” discussion forum. Course Readiness Quiz: This quiz is designed to ensure you are familiar with the information covered in “Your First Hour” section. While this quiz does not count toward your grade, you must successfully complete it to access week 1, and the rest of the course.

III. COURSE REQUIREMENTS AND COMMUNICATION

Course Requirements Recommended Prior Knowledge : To be successful in this course, we recommend English language fluency and computer literacy, as well as high school algebra and understanding of basic mathematical concepts. Online Course Requirements: You will find all content and learning activities within the course website. All course interactions use Internet technologies. It is your responsibility to watch all required videos and assigned readings, and complete all graded assessments according to the course schedule provided. You are encouraged to interact with your peers and course team in the discussion forums, and ask questions there as well. Course Communication All written communication will take place in discussion boards, course updates, and on the course home page. Office hours will be held regularly through YouTube Live. Live sessions are recorded, and students can watch after the initial broadcast. Office hour sessions will be announced ahead of time, and a link will be provided to join. Each week, there will be a dedicated discussion board called “General Questions,” where you can post general questions and comments about the subject matter, as well as any direct inquiries for the instructor and course team. Please use this forum to ensure timely response.

course. We recommend that you establish your time management schedule for this course within the first two days after it opens. Subject to Change Notice: This syllabus is to be used as a guide only. Information contained here, such as assignments, grading scales, deadlines, and other materials are subject to change. It is your responsibility to read the course announcements regularly to be aware of any changes or updates in the course. Academic Integrity: Academic honesty is expected of all students in all coursework and exams. The possible sanctions include, but are not limited to, appropriate grade penalties, course failure (indicated on the transcript as a grade of E), course failure due to academic dishonesty (indicated on the transcript as a grade of XE), loss of registration privileges, disqualification, and dismissal. For more information, review ASU’s Academic Integrity Policy. Prohibition of Commercial Note Taking Services: In accordance with ACD 304-06 Commercial Note Taking Services, written permission must be secured from the official instructor of the class in order to sell the instructor's oral communication in the form of notes. Notes must have the note taker's name as well as the instructor's name, the course number, and the date. Title IX: As a mandated reporter, I am obligated to report any information I become aware of regarding alleged acts of sexual discrimination, including sexual violence and dating violence. An individual who believes they have been subjected to sexual violence or harassed on the basis of sex can obtain information about support, including counseling and academic support, from the university at https://sexualviolenceprevention.asu.edu/faqs.

VII. GENERAL AND TECHNICAL REQUIREMENTS

This course is best accessed by a reasonably modern browser on a laptop or desktop computer. You can also access course videos via a browser on your mobile device. Students who are interested in taking the course for credit will need additional computer requirements and skills to access the remote proctor service. Please see the Software Secure site, which details

Proctor Now’s requirements. If you are not certain about your system, it is highly recommended that you complete the practice proctored exam to confirm system compatibility.

VIII. GENERAL AND TECHNICAL ASSISTANCE

For technical support, please contact the ASU helpdesk by calling 855.278.5080 (toll-free) or by visiting the Help Desk Chat(https://contact.asu.edu/). If you are logged into myASU you can also visit https://myasu.force.com/studentSC