Python has become one of the most popular programming languages in the world in recent years. Python is most commonly used in website development, software development, task automation, data analysis and data visualization. Python also offers the ability to easily automate processes through scripting, making it key for software testing, troubleshooting and bug tracking. Finally, Python plays a key role in data science tasks and is used to perform complex statistical calculations, visualize data and create machine learning algorithms.
It is widely thought that Python is the best programming language for Artificial Intelligence (AI) because of its syntaxes being simple and quickly learnt. When it comes to machine learning, the ideas exchange platform, “Towards Data Science”, tells us that 57% of data scientists and machine learning developers utilise Python, with 33% prioritising it for development.
The C programming language is a general-purpose, operating system-agnostic, and procedural language that supports structured programming and provides low-level access to the system memory. It has inbuilt functions and operators that can solve virtually any complex problem. C is the combination of both low level (assembly) and high-level programming languages; also, it can be used to write an application and interact with low-level system memory and hardware.
C has a wide range of real-world applications, including the following: Development of video games, Applications using graphical user interfaces, Databases and computer operating systems, Browsers on the internet, Computational and graphical methods, Banking, Cloud computing and distributed systems, Compilers, Embedded systems are systems that are integrated into a larger system.
Data structure are generally based on the ability of a computer to fetch and store data at any place in its memory, specified by a pointer-a bit string, representing a memory address, that can be itself stored in memory and manipulated by the program. Thus, the array and record data structures are based on computing the addresses of data items with arithmetic operations. The implementation of a data structure usually requires writing a set of procedures that create and manipulate instances of that structure.
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. In OOP, computer programs are designed by making them out of objects that interact with one another. There is significant diversity of OOP languages, but the most popular ones are class-based, meaning that objects are instances of classes, which typically also determine their type. Significant object-oriented languages include Java, C++, C#, Python, PHP, Ruby, Perl, Object Pascal, Objective-C, Dart, Swift, Scala, Common Lisp, and Smalltalk.
A DataBase Management System (DBMS) is a software package with computer programs that controls the creation, maintenance, and use of a database. It allows organizations to conveniently develop databases for various applications. A database is an integrated collection of data records, files, and other objects. The DBMS allows different user application programs to concurrently access the same database. The DBMS provides facilities for controlling data access, enforcing data integrity, managing concurrency control, and recovering the database after failures and restoring it from backup files, as well as maintaining database security.
DBMS may become a complex software system and its development typically requires thousands of human years of development effort. Some general-purpose DBMSs such as Adabas, Oracle and DB2 have been upgraded since the 1970s. General-purpose DBMSs aim to meet the needs of as many applications as possible, which adds to the complexity.
An operating system (OS) is a collection of software that manages computer hardware resources and provides common services for computer programs. The operating system is a vital component of the system software in a computer system. Application programs require an operating system to function. Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting for cost allocation of processor time, mass storage, printing, and other resources. Examples of popular modern operating systems include Android, BSD, IOS, Linux, Mac OS X, Microsoft Windows, Windows Phone, and IBM z/OS.
The primary need for the OS arises from the fact that user needs to be provided with services and OS ought to facilitate the provisioning of these services. The central part of a computer system is a processing engine called CPU. A system should make it possible for a user’s application to use the processing unit. A user application would need to store information. The OS makes memory available to an application when required. Similarly, user applications need use of input facility to communicate with the application. This is often in the form of a key board, or a mouse or even a joy stick (if the application is a game for instance).
In software and systems engineering, a use case is a list of actions or event steps typically defining the interactions between a role (known in the Unified Modelling Language as an actor) and a system to achieve a goal. The actor can be a human or other external system. In systems engineering use cases are used at a higher level than within software engineering often representing missions or stakeholder goals. Use case driven development is a key characteristic of many process models and frameworks such as ICONIX, the Unified Process (UP), the IBM Rational case Unified Process (RUP), and the Oracle Unified Method (OUM). With its inherent iterative, incremental and evolutionary nature, use case also fits well for agile development.
Computer Assisted Software Engineering (CASE) tools were developed to support the professional system developer and improve their productivity in the complex task of developing large information systems from a developer viewpoint, CASE tools provide support for modelling aspects of the system using a variety of notations and techniques: from diagrams to mathematics and text, producing prototype code, and even verifying the correctness of the system design.
The World Wide Web ("WWW" or simply the "Web") is a global information medium which users can read and write via computers connected to the Internet. All clients and servers in the WWW speak the language of HTTP (HyperText Transfer Protocol). Markup is used to in text and word processing documents to describe how a document should look when displayed or printed. The Internet uses markup to define how Web pages should look when displayed in a browser or to define the data contained within a Web document
HTML stands for Hypertext Markup Language. HTML is the primary markup language that is used for Web pages. HTML tells the browser what to display on a page. For example, it specifies text, images, and other objects and can also specify the appearance of text, such as bold or italic text.
CSS stands for cascading style sheets. Cascading style sheets provide the ability to change the appearance of text (such as fonts, colors, spacing) on Web pages. Using CSS, you can also position elements on the page, make certain elements hidden, or change the appearance of the browser, such as changing the color of scroll bars in Microsoft Internet Explorer.
Mobile app development is a term used to denote the act or process by which a mobile app is developed for mobile devices, such as personal digital assistants, enterprise digital assistants or mobile phones. These applications can be pre-installed on phones during manufacturing platforms, or delivered as web applications using server-side or client-side processing (e.g., JavaScript) to provide an "application-like" experience within a Web browser.
Mobile phones and devices have become such a ubiquitous part of our everyday lives that difficult to imagine going through an entire day without one. This shift to ubiquity has been driven largely in part by the increasing scope of mobile application development. As time has passed, our mobile phones have moved far beyond acting as a proxy for voice-to-voice communication and are now embedded in many aspects of our daily lives.
Network security consists of the policies and practices adopted to prevent and monitor unauthorized access, misuse, modification, or denial of a computer network and network-accessible resources. Network security involves the authorization of access to data in a network, which is controlled by the network administrator. Users choose or are assigned an ID and password or other authenticating information that allows them access to information and programs within their authority. Network security covers a variety of computer networks, both public and private, that are used in everyday jobs; conducting transactions and communications among businesses, government agencies and individuals.
Network security starts with Authentication, commonly with a username and a password. Since this requires just one detail authenticating the user name i.e., the password this is sometimes termed one-factor authentication. With two-factor authentication, something the user 'has' is also used (e.g., a security token or 'dongle', an ATM card, or a mobile phone) and with three-factor authentication, something the user 'is' is also used (e.g., a fingerprint or retinal scan).
Grid computing is the collection of computer resources from multiple locations to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files. Grid computing is distinguished from conventional high-performance computing systems such as cluster computing in that grid computers have each node set to perform a different task/application.
Cloud computing is an information technology (IT) paradigm, a model for enabling ubiquitous access to shared pools of configurable resources (such as computer networks, servers, storage, applications and services), which can be rapidly provisioned with minimal management effort, often over the Internet.
Grids are a form of distributed computing whereby a "super virtual computer" is composed of many networked loosely coupled computers acting together to perform large tasks. For certain applications, distributed or grid computing can be seen as a special type of parallel computing that relies on complete computers (with onboard CPUs, storage, power supplies, network interfaces, etc.) connected to a computer network (private or public) by a conventional network interface, such as Ethernet.
Multimedia and Object Oriented Design Lab:
Networking and Security Lab:
Mobile Computing Lab:
Open Source and Web Technologies Lab:
Operating Systems and Database technologies Lab:
Grid and Cloud Computing Lab:
Data Science and Analytics Lab:
Project Lab: