Difference between revisions of "IU:TestPage"

From IU
Jump to navigation Jump to search
Line 1: Line 1:
   
  +
= Theoretical Computer Science =
= No-Code and Low-Code Development =
 
* Course name: No-Code and Low-Code Development
+
* Course name: Theoretical Computer Science
  +
* Course number: BS-18
   
 
== Course Characteristics ==
 
== Course Characteristics ==
   
 
=== Key concepts of the class ===
 
=== Key concepts of the class ===
  +
* Automata Theory
* no-code/low-code development
 
  +
* Formal Grammars
* rapid application development
 
  +
* Computability
   
 
=== What is the purpose of this course? ===
 
=== What is the purpose of this course? ===
  +
A good software developer ignorant of how the mechanics of a compiler works is not better than a good pilot when it comes to fix the engine and he will definitively not be able to provide more than average solutions to the problems he is employed to solve. Like automotive engineering teach us, races can only be won by the right synergy of a good driving style and mechanics. Most importantly, limits of computation cannot be ignored in the same way we precisely know how accelerations, forces and frictions prevent us from racing at an unlimited speed. This course will investigate the prerequisites to understand compilers functioning. Although the act of compilation appears deceptively simple to most of the modern developers, great minds and results are behind the major achievements that made this possible. All starts with the Epimenides paradox (about 600 BC), which emphasizes a problem of self-reference in logic and brings us to the short time window between WWI and WW2 when, in 1936, Alan Turing proved that a general procedure to identify algorithm termination simply does not exist. Another major milestone has been reached by Noam Chomsky in 1956 with his description of a hierarchy of grammars. In this long historical timeframe we can put most of the bricks with which we build modern compilers. The course will be an historical tour through the lives of some of the greatest minds who ever lived on this planet.
The main purpose of this course is to enable students to build, deploy, and update applications for various business or technical purposes using no-code and low-code platforms.
 
=== Course objectives based on Bloom’s taxonomy ===
 
 
==== - What should a student remember at the end of the course? ====
 
By the end of the course, the students should be able to
 
* By the end of the course, the students should be able to ...
 
* list most popular no-code and low-code platforms and tools
 
* define what the common use cases for no-code and low-code solutions
 
* explain the difference between low-code and no-code development platforms
 
 
==== - What should a student be able to understand at the end of the course? ====
 
By the end of the course, the students should be able to
 
* By the end of the course, the students should be able to ...
 
* describe the typical steps of no-code / low-code development process
 
* discuss the evolution and future of low-code/no-code application development
 
* describe how do low-code and no-code work
 
* describe main advantages and disadvantages of using no-code and low-code tools
 
 
==== - What should a student be able to apply at the end of the course? ====
 
By the end of the course, the students should be able to
 
* By the end of the course, the students should be able to ...
 
* build, deploy, and update applications using no-code and low-code tools
 
* determine requirements and select appropriate tools
 
* create app's workflows, data models, and user interfaces using the visual IDE
 
* select and connect APIs, code customized front-end and database queries
 
* test user acceptance of software
 
=== Course evaluation ===
 
{| class="wikitable"
 
|+ Course grade breakdown
 
|-
 
! Type !! Points
 
|-
 
| Labs/seminar classes || 30
 
|-
 
| Interim performance assessment || 30
 
|-
 
| Final Project || 40
 
|}
 
 
=== Grades range ===
 
{| class="wikitable"
 
|+ Course grading range
 
|-
 
! Grade !! Points
 
|-
 
| A. Excellent || [90, 100]
 
|-
 
| B. Good || [75, 89]
 
|-
 
| C. Satisfactory || [60, 74]
 
|-
 
| D. Poor || [0, 59]
 
|}
 
=== Resources and reference material ===
 
* NoCode Education, Learn about no code tools:
 
* James Martin. 1991. Rapid application development. Macmillan Publishing Co., Inc., USA.
 
== Course Sections ==
 
The main sections of the course and approximate hour distribution between them is as follows:
 
=== Section 1 ===
 
 
==== Section title ====
 
Fundamentals to no-code/low-code development
 
 
==== Topics covered in this section ====
 
* Overview of no-code/low-code tools and common use cases
 
* Organizing and storing your data with no-code databases tools
 
* Business Logic and functionality through Workflows
 
* Configuring a no-code API service
 
* No-code tools for UI/UX design
 
 
==== What forms of evaluation were used to test students’ performance in this section? ====
 
{| class="wikitable"
 
|+
 
|-
 
! Form !! Yes/No
 
|-
 
| Development of individual parts of software products || 1
 
|-
 
| Homework and individual projects || 1
 
|-
 
| Midterm evaluation || 0
 
|-
 
| Testing (written or computer based) || 0
 
|-
 
| Reports || 0
 
|-
 
| Essays || 0
 
|-
 
| Oral polls || 0
 
|-
 
| Discussions || 1
 
|}
 
 
==== Typical questions for ongoing performance evaluation within this section ====
 
# Name popular no-code/low-code tools and their respective use-cases
 
# Define what the common use cases for no-code and low-code solutions
 
# Explain the difference between low-code and no-code development platforms
 
# Describe how no-code tools support organizing product data
 
# Describe how low-code tools support retrieving and editing the data through APIs
 
 
==== Typical questions for seminar classes (labs) within this section ====
 
 
 
==== Tasks for midterm assessment within this section ====
 
 
 
==== Test questions for final assessment in this section ====
 
# Design an Entity Relation Diagram for your product
 
# Organize your products data into a database model on a no-code tool
 
# Design API architecture and methods for your tool
 
# Deploy your API methods and connect them with the database
 
# Configure business logic for the API methods
 
=== Section 2 ===
 
 
==== Section title ====
 
Mobile and web development with no-code/low-code platforms
 
 
==== Topics covered in this section ====
 
* Creating a landing page without code
 
* Landing page effective design and conversion
 
* No-code mobile development with Adalo
 
* No-code web development with Webflow
 
* Connecting web and mobile applications to API and Database services with little to no code.
 
 
==== What forms of evaluation were used to test students’ performance in this section? ====
 
{| class="wikitable"
 
|+
 
|-
 
! Form !! Yes/No
 
|-
 
| Development of individual parts of software product code || 1
 
|-
 
| Homework and group projects || 1
 
|-
 
| Midterm evaluation || 0
 
|-
 
| Testing (written or computer based) || 0
 
|-
 
| Reports || 0
 
|-
 
| Essays || 0
 
|-
 
| Oral polls || 0
 
|-
 
| Discussions || 1
 
|}
 
 
==== Typical questions for ongoing performance evaluation within this section ====
 
# Name the main characteristics of an effective landing page
 
# Describe the procedure for choosing a color scheme for your product
 
# Describe the process of configuring conversion flow for a landing page
 
# Describe the main steps and important aspects of designing a mobile application
 
# Describe the main steps and important aspects of a web application
 
# Describe how business logic and data storage is configured for low-code/no-code web and mobile applications
 
 
==== Typical questions for seminar classes (labs) within this section ====
 
 
 
==== Tasks for midterm assessment within this section ====
 
 
 
==== Test questions for final assessment in this section ====
 
# Design your landing page with Figma
 
# Build and deploy your landing page with Umso
 
# Use a color picker tool to choose an effective color palette
 
# Build and release a no-code mobile application using Adalo
 
# Build and deploy a no-code web application using Webflow
 
# Connect business logic and database to your web and mobile applications
 
=== Section 3 ===
 
 
==== Section title ====
 
Creating product infrastructure with no-code/low-code tools
 
 
==== Topics covered in this section ====
 
* No-code automation tools
 
* No-code analytics tools
 
* Customer support tool
 
* Advanced no-code use cases: ML and IoT
 
 
==== What forms of evaluation were used to test students’ performance in this section? ====
 
{| class="wikitable"
 
|+
 
|-
 
! Form !! Yes/No
 
|-
 
| Development of individual parts of software product code || 1
 
|-
 
| Homework and group projects || 1
 
|-
 
| Midterm evaluation || 0
 
|-
 
| Testing (written or computer based) || 0
 
|-
 
| Reports || 0
 
|-
 
| Essays || 0
 
|-
 
| Oral polls || 0
 
|-
 
| Discussions || 1
 
|}
 
 
==== Typical questions for ongoing performance evaluation within this section ====
 
# Describe how business logic and data storage can be configured for web and mobile applications through low-code/no-code automation tools
 
# Describe how analytics can be integrated into a product
 
# Describe the best practices for customer support and important aspects in choosing a customer support tool
 
# Describe advanced no-code use cases: ML and IoT
 
# Describe an end-to-end application infrastructure of a low-code/no-code developed product
 
 
==== Typical questions for seminar classes (labs) within this section ====
 
 
 
==== Tasks for midterm assessment within this section ====
 
 
 
==== Test questions for final assessment in this section ====
 
# Connect business logic and database to your web and mobile applications
 
# Establish events table and integrate analytics into your product
 
# Setup a customer support tool into your product
 
# Apply an advanced no-code use case (ML or IoT) in your product
 
# Configure the end-to-end application infrastructure for your product
 

Revision as of 12:50, 29 November 2021

Theoretical Computer Science

  • Course name: Theoretical Computer Science
  • Course number: BS-18

Course Characteristics

Key concepts of the class

  • Automata Theory
  • Formal Grammars
  • Computability

What is the purpose of this course?

A good software developer ignorant of how the mechanics of a compiler works is not better than a good pilot when it comes to fix the engine and he will definitively not be able to provide more than average solutions to the problems he is employed to solve. Like automotive engineering teach us, races can only be won by the right synergy of a good driving style and mechanics. Most importantly, limits of computation cannot be ignored in the same way we precisely know how accelerations, forces and frictions prevent us from racing at an unlimited speed. This course will investigate the prerequisites to understand compilers functioning. Although the act of compilation appears deceptively simple to most of the modern developers, great minds and results are behind the major achievements that made this possible. All starts with the Epimenides paradox (about 600 BC), which emphasizes a problem of self-reference in logic and brings us to the short time window between WWI and WW2 when, in 1936, Alan Turing proved that a general procedure to identify algorithm termination simply does not exist. Another major milestone has been reached by Noam Chomsky in 1956 with his description of a hierarchy of grammars. In this long historical timeframe we can put most of the bricks with which we build modern compilers. The course will be an historical tour through the lives of some of the greatest minds who ever lived on this planet.