Skip to content

Latest commit

 

History

History
137 lines (89 loc) · 5.68 KB

syllabus.md

File metadata and controls

137 lines (89 loc) · 5.68 KB

Course name: Principles of Programming for GIScience

Course number: GIS 321

Course prerequisites: CSE 110

--

Instructor and contact information:

Instructor: Jay Laura

Office hours: Via email or scheduled via Google Hangout or Phone

Email: [email protected]

--

Course description:

Contemporary research in analytical geography has placed an increasing demand on the computational skills of its practitioners. The advances in spatial data analysis and geographical modeling have also largely out-paced the capabilities of standard statistical software. At the same time, the multidisciplinary nature of the spatial sciences often translates into the need to deal with disparate data sources, formats and programming languages. As such, students undertaking research are often confronted with a daunting set of tasks that are seldom covered in an integrated fashion in course work. This course is designed to address this situation.

Course learning outcomes:

Introduce geography students to basic computational concepts using Python, an object-oriented scripting language, for data processing, analysis and application development in geographic research.

Familiarize students with the fundamental tools used in collaborative programming and research projects in an open source and cross-platform environment.

Provide students with skill sets that are in high demand within academic GIScience and commercial GIS development.

--

Grading policy:

Grading in the course will be based on the following point system:

Component Points
12 Exercises 360
Exam 1 120
Exam 2 220
Exam 3 300
Total 1000

Exams will be based on the readings, discussion forum posts, and exercises. All exams are cumulative. Late exams will not be accepted.

Exercises will be completed using Github and Github Classroom, and grades recorded in BlackBoard.

There are no extra credit assignments to make up for poor performance on exams, exercises, or missed in-class activities.

--

Required and recommended readings:

Wentworth, P., et al. (2012) How to Think Like a Computer Scientist: Learning with Python 3. OpenBookProject How to Think Like a Computer Scientist

Percival, H. (2014) Test-Driven Development with Python. O'Reilly, Sebastopol. Test-Driven Development with Python

Chacon, S. and Straub, B. (2014) Pro Git. Git: Distributed Even if Your Workflow Isn't

Other readings to be assigned.

--

Weekly activities All readings are from the How to Think Like a Computer Scientist text unless noted, e.g. with a Git Ch1 descriptor.

**Week Topics Readings Assigned Due
1 Course Introduction, Software Installation, Intro to Git Configuration, Git Ch1, Ch2.1, Ch6.1 E0 Configuration
2 Python Introduction, Test Driven Development, Koans Scientific Python, Ch 2 E1 Basic Python Types E0 Configuration
3 Python Interpreters, Editors, Local Testing, Strings, None Ch 1, Ch 8, Ap. A E2 Strings & None E1 Basic Python Types
4 Continious Integration Environments, Operators/operands TBA E3 Point Statistics E2 Strings & None
5 Sequences, Dictionaries Ch7, Ch9, Ch11, Ch20 Exam 1 E3 Point Statistics
6 Conditional Execution, Files Ch5, Ch13 E4 Iterables & Conditions Exam 1
7 Functions, Methods, Modules Ch4, Ch6, Ch12, Ch15 E5 Point Pattern Module I E4 Iterables & Conditions
8 OOP, Inheritance Ch16, Ch21, Ch23 E6 E5 Point Pattern Module II
9 Composition Ch22 E6 Functional Point Patterns E5 Point Pattern Module II
10 Functional Programming, List Comprehensions TBA Exam 2 E5 Point Pattern Module II
11 Geospatial & Numerical Libraries TBA E7 Numerical Programming Exam 2
12 Qt Installation & Basic GUI Development Ch10, TBA E8 PyQt E7 Numerical Programming
13 Event Driven Programming TBA E9 QGIS Plugin I E8 PyQt
14 Event Handling & Widgets TBA E10 QGIS Plugin II E9 QGIS Plugin I
15 MVC TBA E11 Integration E10 QGIS Plugin II
16 Final Exam E11 Integration

Academic integrity

The ASU student academic integrity policy lists violations in detail. These violations fall into five broad areas that include but are not limited to: cheating on an academic evaluation or assignment, plagiarizing, academic deceit, such as fabricating data or information, aiding academic integrity policy violations and inappropriately collaborating, or falsifying academic records. For more information about the ASU student academic integrity policy, please use the following web link

http://provost.asu.edu/academicintegrity

Disability accommodations

Qualified students with disabilities who will require disability accommodations in this class are encouraged to make their requests to me at the beginning of the semester either during office hours or by appointment. Note: Prior to receiving disability accommodations, verification of eligibility from the Disability Resource Center (DRC) is required. Disability information is confidential.