CSCE 155T

CSCE 155T: Python Programming for Data Science

Syllabus

Fall 2017

CS1 offers introduction to computers and problem solving with computers. Topics include problem solving methods, software development principles, computer programming, and computing in society.

This specific course introduces Python programming with focus on data collection, management, and analytics, where students will get exposure to classical methods and core skills for application development.  At the end of this course, a broad array of topics will be given through the context of web crawling and search engine, including recursion, regular expressions, depth-first search, Google’s MapReduce framework, GUI widgets, HTML parsers, SQL, database, and multicore programming. This course is highly recommended for students who are interested in data processing in various informatics fields, such as library, online commerce, and bioinformatics.

Lectures & Labs

Lecture: MWF 2:30-3:20pm, Avery Hall 108

Lab: Thursday 9:30-10:45am, Avery Hall 20

 

Instructor

Name: Juan Cui

Office: Avery 122B

Tel: 402.472.5023

E-mail: jcui@unl.edu

Homepage: http://sbbi-panda.unl.edu

Office Hours: M W F 3:30-4:30 pm or by appointment

 

Teaching Assistant

Name: zeynep hakguder

Office: Avery 122C

E-mail: zeynep.hakguder@huskers.unl.edu

 

Prerequisites

Appropriate score on the CSE Placement Exam or CSCE101; MATH 103 or equivalent; or instructor permission

 

Text Book

Introduction to Computing Using Python: An Application Development Focus, 2nd Edition, by Ljubomir Perkovic (http://www.wiley.com/WileyCDA/WileyTitle/productCd-EHEP003201.html)

Resources

  • Problem Solving with Algorithms and Data Structures Using Python 2nd Ed. by Miller and Ranum (free online version).

Homework Assignments

The assignments are posted on the class webpage on the Canvas system https://canvas.unl.edu/ and are due on the indicated dates. You will be required to submit an on-line copy of your assignment through Web Handin system https://cse-apps.unl.edu/handin on the due date. You are expected to write well-documented, modular code. Programs that do not run will lose significant credit. Programs are graded as follows:

10% Documentation: program heading (authorship info, date, description) and other comments.

15% Programming Style: proper indentation, clear program flow, sensible variable names, etc.

15% Testing: if program takes correctly-formatted input and produces correctly-formatted output.

45% Program Correctness

15% Program Design

Mid. and Final Exam

  • Midterm: October (TBD)
  • Final: December 13, Wednesday. 1:00-3:00pm   (http://registrar.unl.edu/final-exam#tab1)

Grading

Attendance: 10 %

Homework Assignments (written and programming):  30 %.

Midterm: 20 %

Lab: 10 %

Final Exam: 30 %

Disabilities

Students with disabilities are encouraged to contact the UNL Office of Services for Students with Disabilities (SSD) for a confidential discussion of their individual needs for academic accommodation. It is the policy of the University of Nebraska-Lincoln to provide flexible and individualized accommodation to students with documented disabilities that may affect their ability to fully participate in course activities or to meet course requirements. To receive accommodation services, students must be registered with SSD Office, 132 Canfield Administration, 472-3787 voice or TTY.

Academic Integrity

The CSE Department has a policy to promote and enforce academic integrity. Violations of academic integrity will result in automatic failure of the class and referral to the proper university officials. The work a student submits in a class is expected to be the student’s own work and must be work completed for that particular class and assignment. Students wishing to build on an old project or work on a similar topic in two classes must discuss this with both professors. Academic dishonesty includes: handing in another’s work or part of another’s work as your own, turning in one of your old papers for a current class, or turning in the same or similar paper for two different classes. Using or otherwise obtaining another’s answers for an examination also represents a breach of academic integrity. Those who share their code and those who copy other’s code will be penalized in the same way; both parties will be considered to have plagiarized.

 

Tentative Course Schedule

Wk 1. Introduction to Computer Science

Wk 2. Python Data Types

Wk 3. Imperative Programming

Wk 4. Text data, Files, and Exceptions

Wk 5. Execution Control Structures

Wk 6. Execution Control Structures-2

Wk 7. Containers and Randomness

Wk 8. Namespaces

Wk 9. Object-Oriented Programming

Wk 10. Object-Oriented Programming-2

Wk 11. Graphical User Interfaces

Wk 12. Recursion

Wk 13. Recursion-2

Wk 14. The Web and Search

Wk 15. Databases and Data Processing

Wk 16. More Informatics Topics

Wk 17. Final Exam