Coder Social home page Coder Social logo

python-for-all's Introduction

CS 148: Introduction to Computer Science 1 (4-credit course)

Instructor: Raza Ul Mustafa, [email protected]

Office hours: Mondays 11:00 - 12:00 Thursdays 11:00 - 12:00 Other times (in person or on Zoom) by appointment (please email me for times)

TAs: Philip Eigen

The TAs for this class help me throughout the week and during their assigned classes, as well as provide office hours for students from any section who are struggling with or just have questions about the material or any of the assignments. Come to whichever TA office hours are convenient for you to ask questions or to seek help with assignments; there is no need to limit yourself to the TA assigned to your section!

Please be respectful of your TA's time! If there are other students at the TA's office hours, please make sure that you let other people ask questions as well. It is best to come to TA office hours with specific questions; you should always try the problems/assignments on your own first. Please do NOT just come to TA office hours and "camp out" while you work on problems, as that makes it hard for the TAs to work on other tasks that I have given them.

Course Description:

CSC 148, Introduction to Computer Science is a rigorous introductory course in computer science that is the first course that counts toward a CS major. This course will introduce computer programming and concepts of problem analysis, algorithm development, and data structures in a variety of contexts, including text processing, data visualization, and simple games. It aims to provide students with an understanding of the role computation plays in problem solving and to help students, regardless of their majors, feel confident of their ability to write small to medium-sized programs that allow accomplish useful goals. The class will use Python 3 as the primary programming language. Course content will include programming assignments, frequent problem sets (called "quizzes" in Canvas), readings, two midterm exams, and a final exam. Midterms will be held during class time; the final will be held during the university-assigned exam period. Attendance is required and will count toward the final grade.

Objectives:

This course has the following objectives: Student will independently write small to medium sized programs to solve common problems, such as math problems that need numerical computation, simple interactive games, file and text processing, and scientific data plotting. Student will exhibit fluency in the use of procedural statements โ€” assignments, conditional statements, loops, and methods. Student will exhibit fluency in using functions: defining functions, passing parameters, calling, and using functions. Student will exhibit an understanding of and will be able to use basic data types such as floats, booleans, strings, lists, tuples, and dictionaries; will know how to convert data between types. Student will exhibit a basic understanding of different classes of simple algorithms such as recursion, bisection search and sorting. Students will be in a position to compete for research projects and excel in subjects with programming components. Students will exhibit a solid foundation for subsequent object-oriented programming classes (e.g., those that use Java, C++, Web Programming). Students will exhibit fluency in everyday computational thinking and problem solving.

Books:

The primary text for this course is a freely available online textbook called Think Python: How to Think like a Computer Scientist. We will be using the interactive version of the text that is available through Runestone Academy at https://runestone.academy. Each student enrolled in this course will automatically be enrolled in the interactive textbook; I will distribute this information on the first day.

Students are expected to work through the readings and answer the embedded questions for each chapter. In addition, some of the assignments will be in the form of questions in the Runestone textbook.

Hardware/Software:

You must have a functioning computer (laptop or desktop) with a standard operating system (Windows, Linux or MacOS) to use during class and for all assignments. This computer may NOT be a Chromebook, iPad, or similar web-based system. If you do not have a functioning computer with a standard operating system, there are ways to borrow one from AU for the semester; please let me know and contact your advisor ASAP to start this process. At the start of the semester, you must install Python 3 (the Python language interpreter) and the Anaconda, notebook & Spyder development environment we are using in this class) on your system. Detailed instructions for installing the software were sent out in an email before class started and are on Canvas under Course Resources. There are separate instructions for Windows, Linux users and macOS users. Windows Installation - https://docs.anaconda.com/free/anaconda/install/windows/ Mac Installation - https://docs.anaconda.com/free/anaconda/install/mac-os/ Linux - https://docs.anaconda.com/free/anaconda/install/linux/

Academic Integrity:

It is extremely important that all students in this course hold themselves to the highest standards of academic integrity. This means that you do not share or copy another person's code or solutions to problem sets, you do not access unauthorized websites or course materials during exams, and you do not take credit for work that is not your own.

Writing code, like writing essays or musical compositions, is a creative process. Just like with essays and compositions, copying someone else's work, or using AI to generate your solution, is plagiarism. When first approaching a programming project, you can discuss general ideas about how to approach the problem with your peers, you can consult course materials and sample programs from class, and you can ask the instructor or TAs for help. AT NO TIME should you copy code from someone else, from AI-generated sources, or from internet sources (rearranging lines of code or changing variable names in copied code is still plagiarism). Every programming assignment in this course is designed to reinforce topics covered in class and is explained in the (usually quite detailed) assignment description. If you find yourself looking for resources that are not part of the class to complete an assignment, you are almost certainly on the wrong path; please come talk to me!

The Academic Integrity Code for American University maybe found at this link; every student should review this document at the start of every semester. Students who are believed to have violated the Academic Integrity Code will be referred to the Academic Integrity Code Administrator for the College of Arts and Sciences, who, possibly along with an adjudication panel, will determine if a violation has occurred and what sanctions should result. Sanctions are often quite severe; a typical sanction is an F for the course and a notation on the transcript, and, in particularly egregious cases, can include suspension or dismissal from the university. It is NEVER worth it to violate the Academic Integrity Code. If you have any questions or concerns about these matters, please come to me directly.

python-for-all's People

Contributors

razaulmustafa852 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.