Podcast
Questions and Answers
What is a key characteristic of the procedural approach compared to the declarative approach?
What is a key characteristic of the procedural approach compared to the declarative approach?
Which of the following programming languages is primarily used in implementing embedded autonomous agents?
Which of the following programming languages is primarily used in implementing embedded autonomous agents?
What is a common disadvantage of using spreadsheets for business analytics?
What is a common disadvantage of using spreadsheets for business analytics?
What is a significant advantage of using a declarative approach in programming?
What is a significant advantage of using a declarative approach in programming?
Signup and view all the answers
Which type of decisions are often characterized by more uncertainty and less historical data?
Which type of decisions are often characterized by more uncertainty and less historical data?
Signup and view all the answers
What is a typical feature of integrated business intelligence and planning solutions?
What is a typical feature of integrated business intelligence and planning solutions?
Signup and view all the answers
What can be said about the execution style of declarative programming languages?
What can be said about the execution style of declarative programming languages?
Signup and view all the answers
What aspect makes the procedural programming model less adaptable than the declarative model?
What aspect makes the procedural programming model less adaptable than the declarative model?
Signup and view all the answers
What is one of the primary purposes of Python?
What is one of the primary purposes of Python?
Signup and view all the answers
Which of the following is NOT a common area where Python is used?
Which of the following is NOT a common area where Python is used?
Signup and view all the answers
What command is used in the terminal to run a Python script and redirect the output?
What command is used in the terminal to run a Python script and redirect the output?
Signup and view all the answers
Which of the following is a characteristic of Integrated Development Environments (IDEs)?
Which of the following is a characteristic of Integrated Development Environments (IDEs)?
Signup and view all the answers
How is Python primarily categorized in terms of programming languages?
How is Python primarily categorized in terms of programming languages?
Signup and view all the answers
What is a common use for Cython in relation to Python?
What is a common use for Cython in relation to Python?
Signup and view all the answers
When running a Python script from a file manager, what is likely true?
When running a Python script from a file manager, what is likely true?
Signup and view all the answers
What are code editors primarily used for?
What are code editors primarily used for?
Signup and view all the answers
Which feature is NOT attributed to Python IDLE?
Which feature is NOT attributed to Python IDLE?
Signup and view all the answers
What is a key characteristic of Jupyter Notebooks?
What is a key characteristic of Jupyter Notebooks?
Signup and view all the answers
What distinguishes JupyterLab from Jupyter Notebooks?
What distinguishes JupyterLab from Jupyter Notebooks?
Signup and view all the answers
What essential feature of Google COLAB allows you to execute Python code?
What essential feature of Google COLAB allows you to execute Python code?
Signup and view all the answers
Which of the following best describes Jupyter Notebook cells?
Which of the following best describes Jupyter Notebook cells?
Signup and view all the answers
Why might debugging large codes in Jupyter Notebooks be problematic?
Why might debugging large codes in Jupyter Notebooks be problematic?
Signup and view all the answers
What is a common feature among all mentioned IDEs?
What is a common feature among all mentioned IDEs?
Signup and view all the answers
Which of the following statements about IDLE is inaccurate?
Which of the following statements about IDLE is inaccurate?
Signup and view all the answers
Study Notes
Operational and Structured Decisions
- Operational and structured decisions are often combinatorial in nature.
- Combinatorial problems are problems where you need to find the best combination of choices from a set of possibilities.
Decision Support System (DSS) and Analytic Programming
- Analytic Programming (AP) is a branch of computer science that focuses on developing software to solve complex decision problems.
- DSS are computer-based systems that help decision-makers in identifying and solving problems.
- AP and DSS are often used together to develop solutions for operational and strategic decisions.
Types of Decision Support System (DSS)
- Automated DSS can be used for problems that are well-defined and have limited uncertainty. Examples of application include:
- AGV routing in an automated plant
- Distribution management
- Production planning
### Programming Approaches
- Procedural approach: you define the steps to get a solution (plan).
- Declarative approach: you describe the desired outcome, and the system figures out how to achieve it.
### Declarative vs. Procedural
- Declarative approach is more flexible (e.g., if a constraint changes, just modify the model).
- Procedural approach is tailored and less flexible (e.g., if a constraint changes, you have to modify the procedure); more efficient.
### Tools for Analytic Programming
- AMPL, OPL (IBM), Amply, and Pulp (Python libraries): popular tools for declarative programming.
- STRIPS, PDDL: commonly used in artificial intelligence for planning and robotics.
### Embedded Autonomous Agents
- Autonomous agents are computer programs that can act independently to achieve their goals.
- Autonomous agents used for real-time decision-making need to be fast.
- C, C++ are languages used for embedded systems due to their efficiency and control over hardware.
Tactical and Strategic Decisions
- Tactical and strategic decisions often involve more uncertainty and require historical data for analysis.
- Product/service launch, product/service advertising, and product/service pricing are examples of tactical and strategic decisions.
### Tools for Business Analytics (BA)
-
Spreadsheets (Excel, ...) + various add-ins:
- Error-prone
- Labor-intensive
- Cannot be integrated into larger applications
- Cannot deal with big data
Integrated Business Intelligence and Planning Solutions
- SaS, Minitab, IBM Cognos: examples of integrated solutions for BA.
- Features: Reporting, analysis, dashboard, scorecard, planning, budgeting, forecasting.
- Used by various big companies but are not open-source and expensive.
### Open Source Options for BA
-
R: open-source language for statistical computing and graphics
- Low-level programming language
- Free
- Mainly used by academics
### Python
-
Python: a high-level programming language known for:
- Simplicity and clear syntax
- Readability
- "Executable" pseudocode
- Many libraries for model building and statistical operations
- Used by Google, Quora, Reddit, etc.
- Open-source and free
### Applications for Python
- Business applications (E-commerce, ERPs, web scraping)
- Websites
- Instrument control
- Audio and video applications
### Python Speed
- Cython: a C/C++ wrapper for Python to increase speed.
### Using Python from the Command Line
- From the terminal, type python3.
- Use the interpreter by inserting one command at a time and pressing enter.
- Run a script and redirect the output to a file (example:
>>> hello.py > output.txt
).
Running Python Scripts
- You can run Python scripts from a file manager (e.g., by double-clicking on a .py file).
- IDE options include:
- Sublime
- Visual Studio Code
- IDLE
- PyCharm
- PyDev (Eclipse for Python)
Using IDLE
- Features include:
- Python shell window for an interactive interpreter
- Auto-completion
- Syntax highlighting
- Smart indentation
- Basic integrated debugger
### Using Jupyter
-
Jupyter Notebook: a web application for creating and sharing computational documents.
- Made up of cells with either text in markdown language or code.
- Run code by pressing the play button in the toolbar.
- JupyterLab: the next generation of Jupyter Notebook designed to improve usability and expand its scope.
- Offers a general framework for interactive computing and data science.
- COLAB: cloud-based product from Google Research for writing and executing Python code in the browser.
### Simulation
- Tailored languages (SIMAN, …) and visual interactive modeling systems (Arena, Simio, …) are commonly used for simulation.
- Drag and drop options are available for building models visually.
- Animations can be used for model validation and demonstration.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.