Categories
Fifth Semester

BPA 414: Fundamentals of Computer

The objective of this course is to provide students with basic overview of the computers and get them used to analyze and interpret general problems through computer application. Students learn to use basic CLI in Linux, word processing, spreadsheet, & presentation and write simple programs and scripts. Students will be able to solve general problems with the application of computer after taking this course.

Contents
  1. Introduction to Computer
    • Introduction and History of computing – Need for calculating device, Encryption, Modeling, simulation, research; brief history, types
    • Building Blocks, hardware and software components
    • Data Representation and logic – Analog, Digital; Binary, Decimal, Conversion, Binary operations; Bits, Bytes, Character data representation – ASCII, Unicode, Graphic data representation – Raster, Vector, pixel; Logic gates
  2. Operating System and User Interface
    • Concept of OS, Function, Distributed OS, Cloud Computing, Network OS, Virtual machines
    • Operating systems and Linux
    • Concepts of File systems; Filenames and Extensions; File Attributes
    • User Interface – GUI, CLI
    • Office packages: Brief introduction to Word processor, Spreadsheet, Presentation
    • Data analysis: Very brief introduction to SPSS, R, Python
    • Database: Very brief introduction to flat File system, RDBMS, NOSQL
    • Graphics: Very brief introduction to gimp, Photoshop, MS picture manager, MS Paint
  3. Introduction to Programming in Python
    • Programming concepts, languages; Assembler, Interpreter and compiler
    • Motivation and example of different programming language like Python, JavaScript, C, Java, HTML, R
    • Program design, Program Specification, Algorithm, flowchart
    • Variables and constants, expressions, decision making
    • Looping – indefinite and definite loop, break, continue; Functions – define, call, return
  4. Python Data structures
    • String, List
    • Dictionaries
    • File handling
  5. Introduction to Network, Internet and advanced topics
    • Computer network – Introduction, use, Type, LAN, WAN, Internet, Intranet
    • Malicious software and control, Firewall, Antivirus, Encryption, Decryption, Digital Signature
    • Cyber laws: Computer Crime, information privacy and security
    • Concepts of social network, graph representation, advantages, threats, SNA, Blogging
    • Internet, Search Engines, database, metadata, GIS, GPS etc
    • Artificial Intelligence, Machine Learning, Applications in Public Administration, research
    • Automation technologies: Mechanical, RFID, OCR, Barcode, Machine Readable Passport
Lab practice
  • Linux user interface – ls, cd, mkdir, pwd, cp, mv, cal, date, who, man, passwd, cat, head, tail, cmp, wild cards, vi, ping, ifconfig
  • Word processing, spreadsheet, Presentation
  • Python – Writing simple code to do simple operations
  • Introduction to data analysis software
  • Blogging – Creating blog about any topic
Project work

Project work to be submitted on any topic with application of computer. Any problem can be chosen and computer concept must be applied to solve the topic. Project should be started from the beginning and submitted at the end of the course. Project can be about: Construction of simple website of all the topics of any subject of BPA, Simple data analysis, Construction of a blog, etc. Students have to submit report about their project.

References
  • Charles Severance (2014). Python for Informatics – exploring information.
  • Dhakal, Prabin Babu (2016). Fundamentals of Computer, Buddha Academic Enterprises, Kathmandu
  • Jain R. K. Conventional and Objective Type on Computer, Khanna Publisher Delhi.
  • Kalicharan Noel: An Introduction to Computer Studies, Cambridge University Press; London.
  • Peter Norton’s Introduction Computer, McGraw Hill Publishing Company Limited, New Delhi.
  • Rajaraman V.: Fundamentals of Computers, Prentice-Hall of India, New Delhi.
  • Tutorials point Python tutorial tutorialspoint.com/python
Categories
Sixth Semester

BPA 423: Computer Applications

This course aims to provide students with a fundamental knowledge of data storage and management technology. It familiarizes students with flat file system, relational DBMS and some newer concepts like NoSQL and ways to access data programmatically using Python. It makes them proficient in using RDBMS system. Students should be able to parse and extract useful information from raw data for management and administration using DBMS.

Course

  1. Introduction
    • Characteristics and definition of database and database management system
    • Database history
    • Organization of records
    • File organizations
  2. Database Systems, Concepts and Architecture
    • Database environment
    • DBMS architecture and data independence
    • Data models
    • E-R model; Entity types, attributes, keys and relationship types
    • Codd’s Rule
    • Relational Model: Introduction to relational db; Relational algebra and kinds of relation
    • Integrity constrains, and integrity violations
    • Transactions and ACID properties
    • Access control and authorization; Security and views
    • Parallel processing in RDBMS and NoSQL
  3. Information storage technologies
    • Data storage in unstructured, semi-structured and structured format
    • Introduction to Flat files and types of data stored: TXT, CSV, XML, JSON, YAML
    • Parsing and accessing different types of flat file through Python
    • Introduction to RDBMS
    • Web and big data: web event data and customer behavior, large Data set
    • NoSQL – column, document, key-value, graph
    • Comparison between different types of databases
  4. Introduction to SQL
    • DDL, DML and DQL
    • SELECT, WHERE, LIKE, ORDER BY, GROUP BY, Having clause, DISTINCT, AND/OR operator
    • CRUD operations in Python
    • Null values, is, like, =, between etc.
    • Database connection with python
  5. Introduction to Advanced SQL
    • Constraints
    • Views
    • Joined relation
    • Set operations

Lab Works

  • Parsing CSV, JSON etc. with Python
  • Simple SQL commands: SQL Introduction, SELECT query, WHERE, LIKE, ORDER BY, GROUP BY, HAVING, DISTINCT keyword, AND, OR operator
  • Introduction to Advanced SQL commands: Set operations, joins, views
  • CRUD operation with Python

Project work: Applications of Database Systems in Organizations

Students themselves will have to study and submit the report on database systems of any one of the Nepalese origination (such as payroll, inventory, airlines reservations, online banking systems).

References

  • Date, C.J., An introduction to Database Systems, New Delhi: Pearson Education
  • Hansen, Giary W. and Hansen, James V., Database Management and Design, New Delhi: Prentice Hall of India Pvt. Ltd.
  • Silbersphatz, Alraham et.al, Database Systems Concepts, New York, McGraw Hill Company