シラバスの表示

データ科学プログラミング演習

前期集中 その他 その他. 単位数/Credit(s): 1. 対象学科・専攻/Departments: 情報基礎科学専攻、システム情報科学専攻、人間社会情報科学専攻、応用情報科学専攻. 学期/Term: 前期集中. 履修年度: 2024. 使用言語: 英語 (English).

開講年度

2024

授業題目/Class Subject

データ科学プログラミング演習
Data Science Programming Basics

授業の目的・概要及び達成方法等

このコースでは、Pythonの基本文法から始めて、データ型、制御構造、関数、データ構造、モジュール、例外処理、オブジェクト指向プログラミング、科学計算のためのPythonまで、幅広くカバーします。全てのセッションは、Google Colabを通じてインタラクティブな演習を行いながら、実践的なプログラミングスキルの修得を目指します。学生は、これらの知識を基に、データサイエンスに関連する複雑な問題を解決するための基盤を構築します。

授業の目的・概要及び達成方法等(E)

The course covers a broad range of topics from Python's basic grammar to data types, control structures, functions, data structures, modules, exception handling, object-oriented programming, and Python for scientific computing. Each session is conducted through interactive exercises on Google Colab, aiming to acquire practical programming skills. Students will use this knowledge as a foundation to solve complex problems related to data science.

学修の到達目標/Goal of Study

学生がPythonを使いこなし、データサイエンスにおける問題解決に向けて自立して取り組む能力を養うこと。また、科学計算の基本を理解し、NumPyや他のライブラリを使ったデータ処理の基本技術を習得すること。

Fostering students' ability to master Python, work independently towards problem-solving in data science, understand the fundamentals of scientific computing, and acquire basic techniques in data processing using NumPy and other libraries.

授業内容・方法と進度予定/Contents and progress schedule of the class

Google Classroom を利用 (クラスコード: oxrgepw).
Google Classroom will be used (Classcode: oxrgepw).

講義は1日あたり2講時(180分),合計5日間の集中講義形式で行います.講義は5つのセッションに分けて行います.1つのセッションは,約15分間のon-demand講義とそれに続く15分間の練習で構成されます. 練習部分は,クラウドベースのシステムを使用した自分のパソコンで行う単純なコーディングの問題で構成されています.5日間のトピックは,以下のように分割します.

第1セッション: Pythonの基本
基本文法とデータ型の紹介: 変数の理解、整数、浮動小数点数、文字列、ブーリアンなどの基本データ型について学びます。
制御構造: if, else, elif文を使ったプログラムフローの制御方法、forループとwhileループを学びます。ループ制御にbreakとcontinueを導入します。

第2セッション: 関数とデータ処理
関数の理解: 関数の定義方法、引数の渡し方、戻り値、スコープの重要性について学びます。
データ構造: リスト、辞書、セット、タプルを使ったデータの保管と操作について深く掘り下げます。
内包表記: より簡潔で読みやすいコードのために、リスト、辞書、セット内包表記を使う方法を学びます。

第3セッション: 高度なデータ処理とモジュール
モジュールとパッケージ: データサイエンスや機械学習プロジェクトで一般的に使用されるPythonモジュールとパッケージのインポートと利用方法を学びます。
ファイルI/O: ファイルの入出力操作の基本、データ処理に不可欠なファイルからの読み取りと書き込み方法を学びます。

第4セッション: 堅牢なPythonプログラミング
エラーと例外処理: try, except, finally, raiseを使用したエラーのキャッチと処理戦略を学び、堅牢なアプリケーションを構築する方法を学びます。
オブジェクト指向プログラミング (OOP): PyTorchや多くのライブラリの構造を理解するために不可欠なクラス、オブジェクト、継承、ポリモーフィズムの概念を導入します。

第5セッション: 科学計算のためのPython
NumPyの基本理解: PyTorchテンソル操作がNumPy配列操作に似ているため、NumPyに慣れることが不可欠です。
デコレーターとジェネレーター: より効率的でクリーンなコード作成技術を導入し、より複雑なプログラミングパターンに進むための準備をします。

クラスの詳細と時間は,クラスのウェブサイトで更新されます.

The lecture will be held in two periods (180 min) per day. We have 5 classes.

Each lecture consists of around six sessions. One session consists of around 15 minutes of on-demand lecture followed by 15 minutes of practice. The practice part consists of simple coding problems in own personal computer using a cloud-based system.

Session 1: Python Basics
Introduction to Basic Syntax and Data Types: Understanding variables and the foundational data types such as integers, floats, strings, and booleans.
Control Structures: Learning to control program flow using if, else, and elif statements, as well as for and while loops. Introducing break and continue for loop control.

Session 2: Functions and Data Handling
Understanding Functions: How to define functions, pass arguments, return values, and the importance of scope.
Data Structures: A deep dive into lists, dictionaries, sets, and tuples for storing and manipulating data.
Comprehensions: Learning to use list, dictionary, and set comprehensions for writing code that is more concise and readable.

Session 3: Advanced Data Handling and Modules
Modules and Packages: How to import and use Python modules and packages, with a focus on those commonly used in data science and machine learning projects.
File I/O: The basics of file input/output operations, including reading from and writing to files, which are essential for data processing.

Session 4: Robust Python Programming
Error and Exception Handling: Strategies for catching and dealing with errors using try, except, finally, and raise to create robust applications.
Object-Oriented Programming (OOP): Introducing the concepts of classes, objects, inheritance, and polymorphism, which are crucial for understanding the structure of PyTorch and other libraries.

Session 5: Python for Scientific Computing
Basic Understanding of NumPy: Becoming familiar with NumPy is essential since PyTorch tensor operations are similar to NumPy array operations.
Decorators and Generators: Introducing more advanced coding techniques for efficiency and cleaner code, setting the stage for diving into more complex programming patterns.

The detail of the class and time will be updated on the class website.

成績評価方法/Evaluation Method

授業内演習50%、セッション毎の課題50%

In-class exercise 50%, assignment for each session 50%

教科書および参考書/Textbook and references

    関連URL/URL

    すべての授業資料や情報はGoogle Classroomに掲載されます。

    All information will be shared in the Google Classroom.

    授業時間外学修

    各セッションの復習および課題に取り組むこと。

    授業時間外学修(E)

    Review session materials and complete assignments.

    オフィスアワー

    オフィスアワーは設けておりませんが、コースに関する質問や不明点は、samy.baladram@tohoku.ac.jp までメールでお問い合わせください。

    オフィスアワー(E)

    Office hours are not available for this course. For any inquiries or clarifications related to the course, please email samy.baladram@tohoku.ac.jp.

    その他/In addition

    実習のため、ラップトップを持参してください。PCが必要な場合は、事前にお知らせください。
    Please bring your laptop for practice sessions. If you need a PC, let us know in advance.

     これと関連したシラバス 学務情報システムで確認
    このシラバスを共有