CSc 250: Essential Computing for the Sciences
Welcome to the cs250 course homepage. This course is taught at the University of Arizona for the Spring 2017 semester. In this course, we will be covering:
- The basics of the Unix operating system, with an emphasis on becoming proficient using the shell environment (bash).
- Learning python 3, and implementing several python programs.
- Understanding the basics of SQL databases, and learning the SQL query language.
- Learning how to interface with a SQL database with python.
- Instructor: Benjamin Dicken, bddicken@email.arizona.edu, GS 826
- Instructor office hours: Tuesday 9:30-10:30am and 2:00-3:00pm. Thursday 9:00-10:00am and 2:00-3:00pm. You can also come in when my door is open, or by appointment.
- TAs:
- Brian Lane
- Contact: brianlane@email.arizona.edu
- Office hours: Friday, 10:00am-12:00pm, GS 856
- Haodong (Cesar) Ruan
- Contact: r6047736@email.arizona.edu
- Office hours: Wednesday, 2:00pm-4:00pm, GS 856
The syllabus has general course information, instructor contact info, meeting times, grading policies, and other policies.
An outline of each lecture (including lecture topics, lecture notes, assigned readings, etc) can be found by visiting the lecture notes page.
Assignments
Lab Exercises
Grades
Grades will be posted/distributed on D2L.
Piazza
All students are required to register for the cs250 Piazza page.
All class announcements will either be made in-class or on piazza.
Students are also encouraged to ask questions about assignments, and discuss while reviewing for exams.
Remember: If asking a question about a homework problem, do not reveal specifics of your solution to the entire class.
If you want to include details of your solutions, post privately to the instructors only.
Schedule
The following is the schedule of topics for this course:
UNIX/Bash:
- Jan 12: Course intro, Unix basics
- Jan 17: Unix basics, bash, common bash commands
- Jan 19: Bash variables, standard inputs and outputs, scripting
- Jan 24: Command substitution, conditionals, loops, regular expressions
- Jan 26: Regular expressions (continued)
Python
- Jan 31: Intro to python, hello world python program, basic math
- Feb 2: Variables and variable types (bool, int, float, string), and comments
- Feb 7: Python scripts, defining and calling functions
- Feb 9: Exam 1
- Feb 14: Control-flow: if/else, while
- Feb 16: Reading from standard input
- Feb 21: String manipulation
- Feb 23: Lists and for loops
- Feb 28: Dictionaries
- Mar 2: File Input/Output
- Mar 7: File Input/Output
- Mar 9: Exam 2
- Mar 14: SPRING BREAK
- Mar 16: SPRING BREAK
- Mar 21: Spring break review (files, data-structures)
- Mar 23: Command-line arguments
Databases:
- Mar 28: Intro to databases, DBMSs, and the relational model
- Mar 30: SQL and SQLite
- Apr 4: SQL and SQLite (cont)
- Apr 6: Using SQLite from python with the sqlite3 module
- Apr 11: Securely connecting to SQLite with the sqlite3 module
- Apr 13: Advanced SQL and SQLite usage
- Apr 18: Exam 3
- Apr 20: Advanced SQL and SQLite usage (cont)
Python:
- Apr 25: Regex in Python
- Apr 27: Regex in Python (cont)
- May 2: Modules, abstraction, and code organization
Finals:
- May 3: Final project Due (Wednesday)
- May 4: DEAD DAY
- May 9: Finals Week
- May 10: CSc250 Final Exam (Wednesday, 1:00-3:00pm)
- May 11: End of finals week
** The contents of this site (including but not limited to the syllabus, schedule, lecture notes, and homework assignments) are subject to change **