Advanced topics in Java including version control, use of debuggers, class design, aggregation and association, exception handling, generic and abstract types, inheritance, polymorphism, interfaces, and abstract classes.
The purpose of this course is to provide students with fundamental knowledge of object oriented programming (OOP). It emphasizes good software engineering principles and developing programming skills. Specific topics covered include: fundamental concepts of object oriented (classes, methods, instantiation, communication by message, encapsulation, inheritance, overriding, dynamic dispatch, polymorphism, etc.) and some interesting packages (I/O, strings, etc.). As an OOP programmer, a student will be able to translate solution problem into object oriented form. He/She should acquire some understanding of object oriented concepts and tools such as the Unified Modeling Language (UML). This will give the student a firm foundation on which he/she can build high-quality software systems. In practice the programming language used is JAVA, as an introduction to JAVA language. Students should acquire some understanding of abstraction mechanisms, enumeration, JAVA Virtual Machines (JVM) and the byte code notion.
The principles of “Programming Languages for Artificial Intelligence” is well integrated into Python. Python is a language with a simple syntax, and a powerful set of libraries. It is an interpreted language, with a rich programming environment, including a robust debugger and profiler. While it is easy for beginners to learn, it is widely used in many scientific areas for data exploration. This course introduces core programming basics—including data types, control structures, algorithm development, and program design with functions—via the Python programming language. The course discusses the fundamental principles of Object-oriented Programming (OOP), as well as in-depth data and information processing techniques. Students will solve problems, explore real-world software development challenges, and create practical and contemporary applications. This course will also cover Ai application related topics like Python Data Science: NumPy library , Python Data Science: Pandas library, Python Data Science, Data Visualization with Python, etc.
This course introduces students to this rapidly growing field of data science and analytics and equip them with some of its basic principles and tools as well as its general mindset. Students learn concepts, techniques and tools they need to deal with various facets of data science and analytics practices, including data collection and integration, exploratory data analysis, predictive modeling, descriptive modeling, data product creation, evaluation, and effective communication. Emphasis is placed on integration and synthesis of concepts and their application to solving problems. To contextualize learning in this course, real or production datasets from variety of disciplines shall be explored.
This course emphasizes on the principal concepts of Data Mining and Data Warehousing techniques. Data Mining concepts include: Data Mining cycles, Data Mining methodology, major issues in Data Mining, data preprocessing stages (data cleaning, data integration, data reduction, data transformation and data discretization), data visualization, and measurement of the effectiveness of data mining. The course goes further into data warehousing and analytical processing techniques including: data warehouse modeling (data cubes and OLAP), mining frequent patterns, associations, correlations, classifications (such as decision trees, neural networks, Bayes classification, rule-based classification) and cluster analysis methods (such as partitioning, hierarchical, density-based, and grid-based approaches). As part of this course, students will be trained on latest datamining software.