\usepackage{calc}
\makeatletter
\providecommand{\@address}{\textbackslash{}address\{\}}
\providecommand{\@title}{\textbackslash{}title\{\}}
\providecommand{\@reporttype}{\textbackslash{}reporttype\{\}}
\providecommand{\@major}{\textbackslash{}major\{\}}
\providecommand{\@specialize}{\textbackslash{}specialize\{\}}
\providecommand{\@author}{\textbackslash{}author\{\}}
\providecommand{\@date}{\textbackslash{}date\{\}}
\providecommand{\@school}{\textbackslash{}school\{\}}
\providecommand{\@supervisor}{\textbackslash{}supervisor\{\}}
\providecommand{\@class}{\textbackslash{}class\{\}}
\providecommand{\@email}{\textbackslash{}email\{\}}
\providecommand{\@studentid}{\textbackslash{}studentid\{\}}
\newcommand{\school}[1]{\def\@school{#1}}
\newcommand{\address}[1]{\def\@address{#1}}
\newcommand{\reporttype}[1]{\def\@reporttype{#1}}
\newcommand{\major}[1]{\def\@major{#1}}
\newcommand{\specialize}[1]{\def\@specialize{#1}}
\newcommand{\supervisor}[1]{\def\@supervisor{#1}}
\newcommand{\class}[1]{\def\@class{#1}}
\newcommand{\email}[1]{\def\@email{#1}}
\newcommand{\studentid}[1]{\def\@studentid{#1}}

\def\ttp@InsertUni{%
    \large%
    \expandafter\MakeUppercase{ĐẠI HỌC BÁCH KHOA HÀ NỘI}%
}
\def\ttp@InsertSchool{%
    \large
    \expandafter\MakeUppercase{KHOA TOÁN - TIN}%
}

\def\ttp@InsertType{%
    \Large
    \expandafter\MakeUppercase{\@reporttype}%
}

\def\ttp@InsertDate{%
    \normalsize%
    {\@address\vspace{0.1cm} -- \@date}%
}

\def\ttp@InsertTitle{%
    \Large%
    \@title%
}

\def\ttp@InsertAuthor{%
    \large%
   \@author%
}

\def\majorname{Chuyên ngành:}
%\def\specializename{Chuyên sâu:}
\def\ttp@InsertMajor{%
    \large
    \majorname{} \@major\\%
    %\specializename{} \@specialize%
}

\def\ttp@InsertEmail{%
    \large
    \textnormal{\texttt{\@email}}%
}


\def\maketitle{%
\savegeometry{geo}%
\begin{titlepage}%
\bfseries\centering%
{\ttp@InsertUni}%
\\
{\ttp@InsertSchool}\\
{\Large
% \hrule height 1pt depth 0.5ex width 4cm \relax%
\begin{tikzpicture}
\draw[line width=2pt] (0ex,0ex) (0, 0.25ex) -- (4, 0.25ex);
\end{tikzpicture}%
\kern-0.1ex\relax{}o0o\kern-0.1ex\relax
\begin{tikzpicture}
\draw[line width=2pt] (0ex,0ex) (0, 0.25ex) -- (4, 0.25ex);
\end{tikzpicture}%
% \begin{tikzpicture}[height=1ex]
% \draw[line width=2pt] (0, 0.5ex) -- (4, 0.5ex);
% \end{tikzpicture}o0o%
}
\vfill
{\includegraphics[width =3cm]{694px-Logo_Hust.png}}
\par\bigskip
{\ttp@InsertAuthor\\ \texttt{duc.nv227096@sis.hust.edu.vn}}\\
\par\bigskip~\par\bigskip
{\ttp@InsertTitle}
\par\bigskip~\par\bigskip
{\ttp@InsertType}
\par
{\ttp@InsertMajor}
\par\bigskip~\par\bigskip~\par\bigskip
\vfill
\ttp@InsertDate
\end{titlepage}%
\loadgeometry{geo}}

\def\makesubtitle{%
\savegeometry{geo}%
\begin{titlepage}%
\centering
\bfseries
{\ttp@InsertUni}
\\
{\ttp@InsertSchool}\\
{\Large
% \hrule height 1pt depth 0.5ex width 4cm \relax%
\begin{tikzpicture}
\draw[line width=2pt] (0ex,0ex) (0, 0.25ex) -- (4, 0.25ex);
\end{tikzpicture}%
\kern-0.1ex\relax{}o0o\kern-0.1ex\relax
\begin{tikzpicture}
\draw[line width=2pt] (0ex,0ex) (0, 0.25ex) -- (4, 0.25ex);
\end{tikzpicture}%
% \begin{tikzpicture}[height=1ex]
% \draw[line width=2pt] (0, 0.5ex) -- (4, 0.5ex);
% \end{tikzpicture}o0o%
}
\vfill
{\includegraphics[width =3cm]{694px-Logo_Hust.png}}
\par\bigskip~\par\bigskip
{\ttp@InsertTitle}
\par\bigskip~\par\bigskip
{\ttp@InsertType}
\par
%\bigskip
{\ttp@InsertMajor}
\par\bigskip~\par\bigskip~\par\bigskip
\begin{tabular}{lll}
    Giảng viên hướng dẫn: & \textnormal{\@supervisor} \\
    \cline{3-3}
    Sinh viên thực hiện: & \textnormal{Nguyễn Văn Đức}  & \textnormal{%
            \footnotesize{}Chữ ký của GVHD}\\
    Mã sinh viên: & \textnormal{\@studentid} \\
\end{tabular}%
\par\bigskip~\par\bigskip
\vfill
{\ttp@InsertDate}
\end{titlepage}%
\loadgeometry{geo}}
\makeatother