19ITC08 - Julia Programming
19ITC08 - Julia Programming
Computer Science and Engineering –VII Semester - Instructional System Design (2025-26)
Course Objectives:
Course Outcomes:
Mode of Delivery:
Assessment Methods:
1. Internal Test
2. Assignment
3. CTT
MEPCO Schlenk Engineering College (Autonomous), Sivakasi
Concept Map
3 0 0 3
UNIT-I INTRODUCTION 9
Julia programming introduction –Variables, Types, and Operations - Naming conventions, and comments –
Types – Integers - Floating point numbers - Elementary mathematical functions and operations - Rational
and complex numbers – Characters – Strings - Formatting numbers and strings - Regular expressions -
Ranges and arrays - Other ways to create arrays - Converting array of chars to a string - Dates and times -
Scope and constants
UNIT-II FUNCTIONS 9
Functions - Defining functions - Optional and keyword arguments - Anonymous functions - First-class
functions and closures - Recursive functions - Map, filter, and list comprehensions - Generic functions and
multiple dispatch
UNIT-III CONTROL FLOW AND COLLECTION TYPES 9
Control Flow introduction - Conditional evaluation - Repeated evaluation - for loop - while loop - break
statement - continue statement - Exception handling - Collection Types – Matrices – Tuples – Dictionaries -
Keys and values – looping – Sets - Making a set of tuples - More on Types, Methods, and Modules - Type
annotations and conversions - Type conversions and promotions - The type hierarchy – subtypes and
supertypes - User-defined and composite types - Types and collections – inner constructors - Type unions -
Parametric types and methods - Standard modules and paths
UNIT-IV DATABASES 9
A basic view of databases - Interfacing to databases - Other considerations - Relational databases- Building
and loading - Native interfaces - ODBC - Other interfacing techniques – DBI - SQLite - MySQL - PostgreSQL -
PyCall - JDBC - NoSQL datastores - Key-value systems - Document datastores - RESTful interfacing - JSON -
Web-based databases - Graphic systems
UNIT-V NETWORKING 9
Sockets and servers - Well-known ports - UDP and TCP sockets in Julia - A "Looking-Glass World" echo server
- Named pipes - Working with the Web - A TCP web service - The JuliaWeb group - The quotes server - Web
Sockets - Messaging - E-mail - Twitter - SMS and esendex - Cloud services - Introducing Amazon Web
Services - The AWS.jl package - The Google Cloud
TOTAL: 45 PERIODS
TEXTBOOK:
1. Ivo Balbaert, “Getting Started with Julia Programming”, Packt Publishing, 2015
2. Malcolm Sherrington, “Mastering Julia”, Packt Publishing, 2015
REFERENCE BOOKS:
1. Sandeep Nagar, “Beginning Julia Programming for Engineers and Scientists”, APress, 2017
2. Jalem Raj Rohit, “Julia Cookbook”, Packt Publishing, 2016 3. Zacharias Voulgaris, “Julia for Data
Science”, Technics Publications, 2016
WEB REFERENCES:
1. https://en.wikibooks.org/wiki/Introducing_Julia
2. https://github.com/JuliaLang
3. https://juliacomputing.com/
COURSE SCHEDULE
Total hours: 54
PI – Performance Indicator
This module introduces the term Julia Programming and its importance in detail. This module helps
to clearly understand the need of Julia Programming in the big data environment. This module also
focuses on the Variables, Types and Operations. This module discusses about the variables,
naming conventions and comments. This module discusses Integers, Floating point numbers,
Mathematical functions and Operations. It also discusses Rational and Complex Numbers,
characters, Regular Expressions, Ranges and arrays, Date and Times, Scope and Constants.
S.
Sample Questions BTL PI
No.
1. U 1.4.1
In Julia, is it possible to use the variables which are not constant?
2. U 13.1.1
Is it possible that you can use type declarations anywhere you want?
3. What is the file extension for a Julia program? R 13.1.1
4. What is the command to run a Julia program in the terminal? R 1.4.1
5. What is the syntax for declaring a variable in Julia? R 1.3.1
6. What is the syntax for a multi-line comment in Julia? R 1.3.1
7. List out the rules for naming a variable in Julia. R 1.3.1
8. What is the output of the following code? A 15.2.3
# Using Operator as variable name
+ = "a"
9. Write a syntax for getting data type of a variable. U 1.3.1
10. What do you mean by scope of the variable? U 1.3.1
11. What is the output of the following code? x, ___ = size([2 2; 1 1]) A 15.2.3
12. What is the output of the b? a = (b = 2+2) +3 A 15.2.3
13. Write notes on stylistic conventions. U 1.3.1
Period
LU-3 Types: Integers, Floating point numbers 1
:
LU Outcome(s) Level: U CO Number:1
Handle integer and floating point numbers
Possible Assessment Questions:
S.
Sample Questions BTL PI
No.
1. How do you declare an integer variable in Julia? U 1.4.1
2. What is the difference between the Int and Int64 types in Julia? R 1.3.1
3. How will you explicitly specify the size of an integer type in Julia? U 1.4.1
4. Write a code to convert an integer to a different integer type in Julia? R 1.3.1
5. What is the maximum value that can be represented by the Int type in Julia? U 1.4.1
6. How can you perform arithmetic operations on integers in Julia? U 1.4.1
7. Is there a way to check if an integer is even or odd in Julia? U 1.4.1
8. How do you declare a floating-point variable in Julia? U 1.4.1
9. What are the different floating-point types available in Julia? R 1.3.1
10. How will you perform arithmetic operations on floating-point numbers in Julia? U 1.4.1
11. Is there a way to check if a floating-point number is NaN (Not a Number) in U 1.4.1
Julia?
Period
LU-5 Characters, Strings 2
:
LU Outcome(s) Level: A CO Number:1
Perform Characters and strings processing
Possible Assessment Questions:
S.
Sample Questions BTL PI
No.
1. Is there a built-in function in Julia to check if a character is a letter or a digit? U 1.4.1
2. How can you convert an ASCII value to its corresponding character in Julia? U 1.4.1
3. Check if a character is a vowel or consonant. A 13.1.1
4. Find the number of occurrences of a specific character in a string. A 13.1.1
5. Write Julia code to convert a string to uppercase. A 13.1.1
MEPCO Schlenk Engineering College (Autonomous), Sivakasi
Period
LU-6 Formatting numbers and strings 1
:
LU Outcome(s) Level: A CO Number:1
Formatting numbers and strings
Possible Assessment Questions:
S.
Sample Questions BTL PI
No.
1. Can you format a string with placeholders for variables in Julia? If so, how? U 13.1.1
2. Is there a built-in function in Julia to left-justify or right-justify a string? U 1.4.1
3. How can you pad a string with leading zeros in Julia? U 1.4.1
4. State the need for Formatting numbers and strings U 1.4.1
Period
LU-7 Regular expressions 1
:
LU Outcome(s) Level: A CO Number:1
Work with regular expression
Possible Assessment Questions:
S.
Sample Questions BTL PI
No.
1. How do you create a regular expression pattern in Julia? U 1.4.1
2. How can you replace occurrences of a pattern in a string with another value U 13.1.2
using regular expressions in Julia?
3. What are some commonly used special characters and symbols in regular R 1.4.1
expressions in Julia?
4. Validate an email address using a regular expression in Julia. A 13.1.2
5. Extract all phone numbers from a given text using regular expressions in Julia. A 15.2.1
6. Replace all occurrences of a specific word in a given text using regular A 13.1.2
expressions in Julia.
Period
LU-9 Dates and times, Scope and constants 1
:
LU Outcome(s) Level: U CO Number:1
1. Work with Date and times
2. Find scope and constants
Possible Assessment Questions:
S.
Sample Questions BTL PI
No.
1. How do you create a Date object representing a specific date in Julia? U 1.4.1
2. Create a DateTime object representing a specific date and time in Julia? U 13.1.1
B.E. Computer Science and Engineering –VII Semester - Instructional System Design (2025-26)
3. Write a code to extract specific components (year, month, day, hour, etc.) U 13.1.1
from a DateTime object in Julia.
4. Is there a way to calculate the difference between two DateTime objects in U 1.3.1
Julia?
5. Get the current date and time in Julia. R 14.1.1
6. Calculate the number of days between two given dates in Julia. U 13.1.2
7. Format a DateTime object as a string in a specific format in Julia. A 13.1.1
8. What is the difference between global scope and local scope in Julia? U 1.3.1
9. How can you access a global variable within a function in Julia? U 1.4.1
10. Write a code to modify a global variable from within a function in Julia. U 13.1.1
12. What are the advantages of using constants in Julia programming? R 1.4.1
MODULE II – FUNCTIONS
This module discuss functions, defines functions in Julia. This module helps to clearly
understand functions, defining functions, anonymous functions. This module is used to work with
first-class functions and closures. This module helps to work with recursive functions. It also deals
with map, filter and list comprehensions. Also, this module discusses about the generic functions
and multiple dispatch.
Period
LU-10 Functions, Defining functions 1
:
LU Outcome(s) Level: A CO Number:2
Create and use user defined functions
Possible Assessment Questions:
S.
Sample Questions BTL PI
No.
1. Define function in Julia. R 1.3.1
2. What is the syntax for defining a function with multiple arguments in Julia? U 1.4.1
3. Can you have optional arguments in Julia functions? If yes, how do you define U 5.1.2
them?
4. How do you call a function in Julia? U 14.1.1
5. Write short notes on default argument values in Julia functions. U 5.1.2
6. What is the difference between a function and a method in Julia? U 13.1.1
Period
LU- 11 Optional and keyword arguments, Function Call 1
:
LU Outcome(s) Level: A CO Number:2
Explore optional keyword arguments and function call
Possible Assessment Questions:
S.
Sample Questions BTL PI
No.
1. How do you specify the return type of a function in Julia? U 15.1.1
2. How to handle multiple return values in Julia functions? A 13.2.5
3. How do you pass arguments by reference to a function in Julia? R 3.1.1
4. Is it possible to define anonymous functions in Julia? If yes, how? A 13.2.4
Period
LU-12 Anonymous functions 1
:
LU Outcome(s) Level: A CO Number:2
Work with Anonymous functions.
Possible Assessment Questions:
S.
Sample Questions BTL PI
No.
1. What is an anonymous function in Julia? R 1.3.1
2. How do you define an anonymous function in Julia? R 1.3.1
3. Can an anonymous function have multiple arguments? A 5.1.2
MEPCO Schlenk Engineering College (Autonomous), Sivakasi
S.
Sample Questions BTL PI
No.
1. What is the purpose of the map function in Julia? R 1.3.1
How do you use the map function to apply a transformation to each element of R
2. 1.4.1
a collection in Julia?
3. Provide an example of using map to transform a list of numbers in Julia. A 14.1.1
4. Write Code to solve finding sum of N number problem using Map U 1.4.1
S.
Sample Questions BTL PI
No.
1. What is the purpose of the filter function in Julia? A 1.3.1
How do you use the filter function to selectively keep elements from a A
2. 5.1.2
collection in Julia?
B.E. Computer Science and Engineering –VII Semester - Instructional System Design (2025-26)
3. Give an example of using filter to keep only even numbers from a list in Julia U 15.2.1
4. Write to solve finding sum of N number problem using filter U 13.2.4
This module defines and describe control flow and conditional evaluation. It deals with handling
loop and while loop, break and continue statement. This module also handles exception. This
module deals with Collection Types such as matrices, tuples, Dictionaries, sets, making a set of
tuples. This module focuses on types, methods and modules: type annotations and conversions,
type conversions and promotions. This module mainly focuses with the type hierarchy – subtypes
and supertypes, user-defined and composite types. It also explains types and collections – inner
constructors, type unions, parametric types and methods, standard modules and paths.
5. program repeatedly asks the user for input until they enter the word "quit". U 5.1.2
6. program generates and prints the Fibonacci series up to a given number. A 15.1.2
program iterates through numbers from 1 to 10 using a for loop, but breaks A
7. 13.1.1
out of the loop when it encounters the number 5.
program iterates through numbers from 1 to 10 using a for loop, but skips A
8. 13.1.1
printing the number 5 using the continue statement.
program prompts the user to enter a positive number and keeps asking until a A
9. valid input is provided. It uses a while loop with a break statement to exit the 15.1.2
loop when a valid number is entered.
Period: 1
LU-26 Types and collections, inner constructors
LU Outcome(s) Level: A CO Number:3
Use types, collections, inner constructors
Possible Assessment Questions:
S.
Sample Questions BTL PI
No.
1. What is an inner constructor in Julia? R 3.1.1
2. What is the purpose of an inner constructor in Julia? A 15.1.2
3. Can an inner constructor have arguments? U 5.2.2
How can you call an inner constructor to create an instance of a user-defined U
4. 3.1.1
type in Julia?
How does Julia determine which constructor to call when creating an instance U
5. 4.1.1
of a user-defined type with inner constructors?
MODULE – IV (DATABASES)
This module introduces the basic view of databases. This module discuss how will you interface to
databases. Relational databases are discussed in this module. This module explains how to build
and load relational databases, native interfaces. This module helps to work on ODBC and other
interfacing techniques such as SQLite, MYSQL, PostgreSQL, PyCall. This module also discusses
JDBC, NoSQL datastores, key-value systems, Document datastores, RESTful interfacing. This
module helps to deal with JSON, web-based databases and graphic systems.
S.
Sample Questions BTL PI
No.
1. How can you establish a connection to a database in Julia? A 3.1.1
2. What are the common database interfaces or packages available in Julia? U 5.2.2
3. How will you execute SQL queries on a database using Julia? A 3.1.1
4. Narrate how will use Julia to work with both SQL and NoSQL databases. U 5.2.2
What are the common error handling mechanisms when interfacing with U
5. 3.1.1
databases in Julia?
6. How can you optimize database operations and query performance using Julia? A 15.1.2
7. Can you create and manage database schemas or tables using Julia? A 5.2.2
MODULE – V (NETWORKING)
This module discussed the basics of sockets and servers and well-known ports. This module
explains UDP, TDP sockets in Julia. It also deals with looking glass world echo server names pipes.
This module looks into working with the web, TCP web service and JuliaWeb group. This module
helps to work on quotes server and web sockets. This module describes about messaging, email-
twitter ad SMS and esendex. This module discusses different cloud services such as Amazon and
google cloud.
S.
Sample Questions BTL PI
No.
What is a "Looking-Glass World" echo server and how can I implement it using A
1. 5.1.2
Julia?
Narrate the steps to create and use TCP sockets in Julia for reliable, A
2. 13.1.1
connection-oriented communication.
What are the common functions and APIs available in Julia for working with U
3. 3.1.1
TCP sockets?
LU-39 Working with the Web - A TCP web service - The JuliaWeb group Period: 2
LU Outcome(s) Level: A CO Number:5
Work with web, TCP service and Juliaweb group
Possible Assessment Questions:
S.
Sample Questions BTL PI
No.
1. How can you work with web technologies and protocols in Julia? A 3.1.1
What are the common packages or libraries available in Julia for web U
2. 3.1.1
development?
3. Create a TCP web service using Julia. A 5.1.2
4. What are the steps involved in setting up a TCP web service in Julia? A 3.1.1
How can you handle incoming HTTP requests and send responses from a TCP A
5. 3.1.1
web service in Julia?
Steps to handle different HTTP methods (GET, POST, etc.) in a TCP web A
6. 5.1.2
service using Julia?
What is the JuliaWeb group and what are its contributions to web development U
7. 3.1.1
in Julia?
How can you utilize the packages or tools developed by the JuliaWeb group in U
8. 4.1.1
my web projects?
What are some best practices or tips for building efficient and secure web U
9. 5.1.2
applications using Julia?
How can you integrate other web technologies, such as HTML, CSS, and A
10. 5.1.1
JavaScript, into my Julia web applications?
Are there any specific APIs or functions available in Julia for interacting with U
5. 1.4.1
Google Cloud services?
6. How can you deploy Julia applications or services on Google Cloud? A 5.1.1