
|
|
Qualification aims
The module prepares students with the ability to apply object-oriented programming principles, design relational database schemas, and implement neural networks and machine learning algorithms, emphasizing human-centered AI considerations, through skills such as coding in Python, using SQL, and leveraging ML libraries, to efficiently manage data science projects and address complex engineering tasks.
Students can
- apply the principles of object-oriented programming (OOP)
- design efficient relational database schemas
- query and manipulate data using structured query language (SQL)
- implement, train and debug neural networks
- implement machine learning (ML) algorithms
- judge the importance of human-centered artificial intelligence (AI)
- consider fairness, transparency, and ethics in AI
by
- writing and debugging Python code
- understanding bias in data
- creating relational data models and applying normalization rules
- executing commands to create, manipulate, and query tables in a relational database
- understanding backpropagation
- choosing suitable network architectures
- analyzing generative models
- understanding and applying machine learning and artificial intelligence methods and algorithms
- writing code and utilizing ML libraries (such as TensorFlow, PyTorch)
- ascertaining and evaluation correct solutions
to
- lay a foundational understanding of OOP in the context of data science, data engineering, machine learning, and AI
- structure and manage data science projects more efficiently
- organize and manage data effectively and avoid redundancy
- solve practical engineering tasks in classification and prediction
- address complex problems in areas such as image recognition and predictive analytics
- mitigate bias and ensure that machine learning and AI technologies serve a broad spectrum of human needs and values
Module Content
Object oriented Programming for Data Science
- Abstract data types, classes, objects, messages, instance variables, methods, encapsulation, private and public access, class variables, constructors, class interface, class implementation
- Data structures, iterators and containers
- Design, code and test a series of object-oriented programs
- Exception handling
- Function overloading, operator overloading
- Generic types, static and dynamic binding, polymorphism, overloading
- Inheritance: Types of inheritance, construction, destruction
Relational Databases
- Basic terms and architectures of databases
- Database system creation
- Principles of the relational model (relational algebra, query optimization, functional dependencies, data integrity and normalization)
- Data modelling (Entity Relationship Model)
- Implementation using a relational database system as an example
- Database language SQL: DDL, DML, DQL
- Transaction concepts
- Active database concepts and fundamentals of Oracle PL/SQL
Machine Learning and AI
- Image classification: Data-driven approach, k-nearest neighbor, Train/val/test splits, L1/L2 distances, cross-validation
- Linear regression, logistic regression, softmax regression
- Optimization: stochastic gradient descent
- Neural Networks, Backpropagation
- Convolutional Neural Networks: Architectures, convolution / pooling layers
- Understanding and visualizing Convolutional Neural Networks
Bibliography
- Lutz, M.: Programming Python Powerful Object-Oriented Programming (ISBN: 0596158106)
- Gamma, E., Helm, R.: Design Patterns Elements of Reusable Object-Oriented Software (ISBN: 0201633612)
- VanderPlas, J.: Python Data Science Handbook – Essential Tools for Working with Data (ISBN: 9781491912058)
- Geron, A.: Hands-On Machine Learning with Scikit-Learn and TensorFlow Concepts, Tools, and Techniques to Build Intelligent Systems (ISBN: 1491962291)
- Elmasri, R, Navathe, R.: Fundamentals of Database Systems. Pearson, 7th edition, Global Edition, 2016
- Garcia-Molina, Jeffrey D. Ullman, Widom J.: Database Systems: The Complete Book, Pearson, 2008
- Nelli, F.: Python Data Analytics, Springer. 2015
- Moncecchi, G., Garreta, R.: Learning scikit-learn – Machine Learning in Python. 2013
- Goodfellow, I., Bengio, Y., and Courville, A.: Deep Learning. MIT press, 2016
|
 |

|