Basic Facts
- Instructor: Richert Wang
- Lecture: Monday/Wednesday 12:00pm - 1:50pm
- Office Hours:
- Richert Wang: By appointment
For course website links, visit https://ucsb-ccs-computing.github.io/S24-20A.
Required Resources
- Online Textbook (zyBooks): CMPTGCS 20: Introduction to Computer Science for Non Majors
This online textbook is required. To subscribe to this course specifically, you should:
- Sign in or create an account at https://learn.zybooks.com
- Enter zyBook code: UCSBCMPTGCS20WangSpring2024
- Subscribe
Course Description:
This course is intended as a FIRST course to introduce non-CS majors to Computer Science, and to programming as a problem solving tool.
Introduction to computer program development for students with little to no programming experience. Basic programming concepts, variables and expressions, data and control structures, algorithms, debugging, program design, and documentation.
This course is NOT APPROPRIATE for students with previous programming background. If you are already proficient with programming skills please DO NOT enroll. (An “intermediate” programming course for CCS non-CS majors with prior programming experience may be offered. This is not that course.)
This course is intended to be a CCS version of CMPSC 8. Because of high demand for CMPSC 8, and a shortage of seats for non-majors, it is often difficult for CCS students to get enrolled. This offering is intended to help address that supply/demand mismatch.
As such, this offering is limited to CCS non-Computing majors only, i.e. students in these majors: ARTCS, BIOCS, CHBCS, MARINCS, MATCS, MUSCS, PHYCS and WTLCS.
About the Course
This class serves as an introduction to programming and computer science. We will use the Python language and write Python programs throughout the course. We will be using Python 3 in the class. In addition to zyBooks, you should download the Python Interpreter for free from Python’s download page (http://python.org/downloads/). I encourage everyone to install Python on their local computer in order to practice programming in addition to zyBooks.
If you find yourself working on a computer that doesn’t have Python installed, you can run simple Python code (along with several other languages) on the web with tools such as IDEOne and PythonTutor. This is not a requirement for the course, but you may find it to be a useful tool.
Learning how to program requires A LOT of practice like learning any new skill. Making mistakes is an essential part of learning as long as you learn from them! Questions like “I wonder what will happen if I do this…” or “How will Python behave in this case…” is a great way to investigate and observe the functionality and limitations of a programming language (there are many programming languages available to software developers and each have their specific pros and cons that may or may not be the best choice for the problems you are trying to solve).
I find the best way to practice is to rapid prototype constantly. Writing simple snippets of code to test and confirm your understanding allows you to 1) practice typing out code, which makes you more comfortable with the language and 2) solidify your understanding of the specific behavior of the programming language functionality.
Programming is the study of algorithms, i.e. step-by-step instructions telling the computer what it needs to do. There are MANY algorithms that can solve a problem and it’s important to consider the computational time, memory space, and correctness of the algorithms you create.
Why Python?
- Python is a popular choice for introductory programming courses since it arguably easier to learn than C/C++ and Java.
- Python is a largely supported language and is widely used in academia and industry.
- There is a lot of support for Python that comes with the language itself and 3rd party libraries other developers created that you can use for many types of applications.
What you need to learn to become a skilled beginning level programmer
So, what is it that you need to know to be a skilled beginning-level programmer in Python? Here’s the list of what you’ll need to be ready for CMPSC 16 (aka CS16, the next programming course):
|
|
Accommodations for disabilities
Information about how UCSB supports students with disabilities is available at the campus ADA website: http://www.ada.ucsb.edu. If you require any special accommodations due to disabilities, please let me know as soon as possible. You may contact me by email to request an appointment.
Managing stress
Personal concerns such as stress, anxiety, relationships, depression, cultural differences, can interfere with the ability of students to succeed and thrive. For helpful resources, please contact UCSB Counseling & Psychological Services (CAPS) at 805-893-4411 or visit http://counseling.sa.ucsb.edu/.
Standard Disclaimer
This syllabus is as accurate as possible, but is subject to change at the instructor’s discretion, within the bounds of UC policy.
(end of syllabus)