The course is entirely offered, taught and conducted in our Undergraduate Accounting Program in English. In a world of ever increasing data and information overload, organizations cannot afford to bypass strong and legitimate computational solutions to boost quality decision-making. Big data, business analytics, data mining, cloud services, distributed processing, or business intelligence are just examples of current topics. The interface between technical computing and business acumen has long been object of study, with both extremes yielding sound payoffs. However, greater payoff tends to be achieved with a blended approach (usually as a result of well-formed teams). In order to perform at the optimal level, team members must step into the “other” area (out of comfort zone). This course is designed to help students with little or no prior knowledge in computer programming, who are interested in learning about logic and programming in the object-oriented paradigm, using Python (a current and relevant language) and C (a powerful and imperative computer language). As learning strategy, we will use active lectures (laboratory), short videos, readings, quizzes, peer evaluation and programming assignments targeting computing techniques in business areas. To improve knowledge in this field, participants will prepare short programs and evaluate programs prepared by their peers. Upon completion of this course students will have developed a valuable skill: introductory, but functional, comprehension of C, Python and SQL-databases to better perform in organizations in light of the aforementioned business scenario. In this course students will learn basic concepts in computer programming with emphasis on business. The goal is to help students experience a sound learning environment to develop programming skills in C and Python interacting with databases, to better perform in business. Upon successful conclusion of this course, students will be able to: 1. Develop an attitude towards decision, information, data, systems, and computers, based on a critical view of the new business environment and intensified knowledge economy; 2. Comprehend how problem-solving and data analytics evolved throughout time; 3. Discuss programming in a stimulating fashion, beyond its mechanics, aiming at attracting even more talented people to this track; 4. Analyze problems in light of object-oriented programming; 5.Comprehend C and Python languages, including variables, expressions, files, flow statements, loop statements, functions, classes, methods, and modules; 6. Comprehend database concepts and integration, SQL servers/clients, SQL statements; 7. Apply solutions, mostly in Python, to solve statistical and graphical representation of datasets; 8. Apply solutions, mostly in Python, to selected business problems.
00. Introduction to programing in business 01. C, Python and the operational environment 02. Variables, data types, arrays, operators, and expressions 03. Programs and files 04. Flow control 05. Loop control 06. Functions, parameters and return values 07. Classes, objects, attributes and methods 08. Libraries, Modules and packages 09. Statistics and graphical representations 10. Databases and queries 11. Optimization with extensions and compilers
00. Introduction to programing in business Organizations, knowledge economy, decision challenges, relevance of coding, job postings, future of business. Problem-solving, structured/unstructured decisions, data, and analytics. 01. C, Python and the operational environment Logic, computer languages, evolution, purpose, compilers, and interpreters. C, Python. PyCharm. Pytonista. Trinket.io. TutorialsPoint.com/CodingGround. 02. Variables, data types, arrays, operators, and expressions Constants, variables, data types. Declarations. Create and manipulate. Operators and expressions. Arrays and operations. Protocol for variable names. 03. Programs and files Text editors and GUI programming environments. Input/output control. Persistent data. Managing files (OS). 04. Flow control If / Elif / Else statement. Switch. Examples. 05. Loop control For / Else statement. While / Else statement. Infinite Loop. Break/Continue. Examples. 06. Functions, parameters and return values Logic, optimization, clarity, and performance. Reuse. Local / Global scope. 07. Classes, objects, attributes and methods Definition, uses, implementation, and examples. 08. Libraries, Modules and Packages Concept. Flexible and extensible attributes of Python. Import Statement. Python Library Reference. Date / Time. Random. Financial examples (Numpy). 09. Statistics and graphical representations Statistics examples (Scipy) Graphical examples (Matplotlib) 10. Databases and queries Databases, tables, views, procedures. Normalization. SQL statements. NoSQL paradigm, JSON. Multiple access control. Connections, Client/Server. Pandas, SQLite3, MYSQL. 11. Optimization with extensions and compilers py2app, py2exe, pyInstaller. Cython. GCC.
BASIC Bailey, T. (2005). An introduction to C programming language and software design. U of Utah. Retrieved from http://www.eng.utah.edu/~bigham/ctext.pdf Borges, L. E. (2010). Python para desenvolvedores (2 ed.). Rio de Janeiro: Edição do autor. Ford, P. (2015). What is code? Bloomberg (June 11, 2015). Retrived from http://www.bloomberg.com/graphics/2015-paul-ford-what-is-code Kernighan, B. W. & Ritchie, D. M. (1988). The C programming language, 2nd ed. New Jersey/NY: Prentice Hall. Meyer, C. (2015). Should accounting students learn to code? Retrieved from https://www.aicpa.org/interestareas/accountingeducation/newsandpublications/pages/should-accounting-students-code.aspx. Swaroop, C. H. (2016). A byte of Python. Retrieved from http://swaroopch.com/notes/python. EXTRA Downey, A. (2012). Think Python: How to think like a computer scientist. Needham, MA: Green Tea Press. Retrieved from http://greenteapress.com/thinkpython/thinkpython.pdf Matthes, E. (2012). Introduction to Python. Retrieved from http://www.introtopython.org. McKinney, W. (2016). Pandas: Powerful Python data analysis toolkit. Retrieved from http://pandas.pydata.org/pandas-docs/stable/pandas.pdf. McMillan, S. (?). C language tutorial. Drexel U. Retrieved from http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/ Meyers, C. (2015). SQL introduction for Python programmers. Retrieved from http://www.openbookproject.net/py4fun/sql/sql.html. Reitz, K. (2016). Python guide documentation. Retrieved from https://media.readthedocs.org/pdf/python-docs/latest/python-docs.pdf. Rossum, G. (2016). Python tutorial (release 2.7.11). Python Software Foundation. Retrieved from https://docs.python.org/2/tutorial. Varoquaux, G., Gouillart, E., and Vahtras, O. (2015). Scipy lecture notes. Retrieved from http://www.scipy-lectures.org/_downloads/ScipyLectures.pdf